root@pythia:~# api_docs online
v1.0.0 --:--:--.--- utc

API Docs

Structured signal JSON for autonomous agents. No UI. No dashboards. Just endpoints your agent can hit.

← back to pythia agent skill
endpoints public + paid
GET /status service health check

Returns service status, version, and uptime.

{
  "service": "Pythia",
  "status": "ok",
  "version": "1.0.0",
  "started_at": "2026-05-28T12:00:00.000Z"
}
GET /inventory active lanes + scan state

Active lanes, scan loop state, historical prior WR.

{
  "current_lanes": [{"sport_key": "mlb"}, {"sport_key": "nhl"}],
  "active_lanes_count": 6,
  "scan_loop_enabled": true,
  "scan_interval_seconds": 60,
  "live_executable_signals": 8,
  "historical_prior_wr": 0.608,
  "historical_prior_wr_display": "60.8%",
  "latest_scan_finished_at": "2026-05-28T12:25:00.000Z"
}
GET /signals/latest ranked executable-fresh signals

Free ranked signals — Pythia Premium first, then Strongest, then native. Returns up to 18 signals.

{
  "signals": [...],
  "pythia_count": 10,
  "pythia_executable_fresh_count": 6,
  "pythia_stale_count": 4,
  "native_count": 4,
  "latest_scan_finished_at": "2026-05-28T12:25:00.000Z",
  "scan_interval_seconds": 60
}
GET /signal/preview free cache-first preview

Free cache-first single strongest preview. No payment required.

{ "signal_id": "sig_...", "provider": "pythia", "provider_lane": "PREMIUM", ... }
GET+POST /signal/strongest x402 paywall · 0.50 USDC

Current best executable-fresh row. GET is free preview. POST requires x402 payment header.

# GET — free preview
curl "https://pythiaterminal.xyz/signal/strongest"

# POST — x402 paid
curl -X POST "https://pythiaterminal.xyz/signal/strongest" \
  -H "Content-Type: application/json" \
  -H "X-Payment: <x402-payment-header>" \
  -d '{}'
GET /capabilities api capability manifest

Returns all available endpoints and service metadata.

GET /schema signal contract shape

JSON schema for signal objects. Describes all fields and types.

GET /.well-known/x402 payment manifest

x402 payment manifest. Returns price, network, and asset details.

{
  "endpoint": "POST /signal/strongest",
  "price": { "amount": "0.50", "currency": "USDC" },
  "network": "base",
  "asset": "USDC"
}
reference schema + limits

Signal Schema

Core fields returned by all signal endpoints.

  • signal_idunique signal identifier
  • provider"pythia" | "native"
  • provider_lane"PREMIUM" | "STRONGEST" | null
  • sport_keysport identifier
  • event_titlematchup description
  • market_tickercontract ticker
  • venue"polymarket" | "kalshi" | "betfair"
  • current_buy_edgeedge % (pythia only)
  • api_signal_status"executable_fresh" | "stale"
  • api_execution_allowedboolean — can execute

Rate Limits & Auth

No API keys for public endpoints. x402 for paid.

  • publicno auth required
  • rate limit100 req/min per IP
  • x4020.50 USDC on Base per call
  • corsenabled for all origins
  • formatapplication/json only
  • executionexternal only — no custody