๐Ÿ“ก

TALLY SIGNAL

x402

A paywalled market intelligence endpoint. Requires a funded Tally session wallet to access. No API keys, no accounts โ€” just a card tap.

WITHOUT SESSION HEADER
GET /api/signal HTTP/1.1

HTTP/1.1 402 Payment Required
X-Payment-Required: tally
X-Payment-Amount: 0.5
X-Payment-Currency: USDC

{
  "error": "payment_required",
  "amount": 0.5,
  "currency": "USDC"
}
WITH FUNDED SESSION HEADER
GET /api/signal HTTP/1.1
X-Tally-Session: BGz5Hfe1...pZT2z3cr

HTTP/1.1 200 OK

{
  "ok": true,
  "signal": {
    "asset": "SOL/USDC",
    "signal": "BULLISH",
    "confidence": "74%",
    "entry": "$144.57",
    "target": "$152.30  (+5.3%)",
    "stop_loss": "$141.90  (-1.9%)",
    "timeframe": "4H",
    "basis": {
      "structure": "Price trading above 4H 200 EMA",
      "liquidity": "Sweep of equal lows confirmed",
      "orderblock": "Unmitigated bullish OB at entry zone",
      "rr": "1 : 2.8"
    }
  }
}
HOW IT WORKS
01
Agent calls GET /api/signal โ€” no header
Server returns 402 + X-Payment-Required: tally
02
Agent calls request_with_payment(url)
Pauses, generates Telegram notification with deep link
03
User receives notification on phone
Opens Tally app, taps bank card to authorize
04
Tally broadcasts USDC transfer on-chain
Session wallet is funded within seconds
05
Agent retries with X-Tally-Session header
Server verifies on-chain balance, returns signal
06
Agent calls return_funds()
Remaining USDC swept back to master vault
AGENT CODE (Python)
from warm_vault_auth import request_with_payment

result = request_with_payment(
    url="https://tally-signal.vercel.app/api/signal",
    amount_usdc=1.0,
    task_description="Fetch SOL/USDC market signal",
    return_funds_after=True,  # sweeps remaining USDC back to vault
)

if result["ok"]:
    signal = result["data"]["signal"]
    print(f"Signal: {signal['signal']} @ {signal['entry']}")
    print(f"Target: {signal['target']}  Stop: {signal['stop_loss']}")
TRY IT
No session (expect 402):
curl https://tally-signal.vercel.app/api/signal
With a funded session wallet:
curl -H "X-Tally-Session: YOUR_PUBKEY" https://tally-signal.vercel.app/api/signal