{"openapi":"3.1.0","info":{"title":"Tollbridge API","version":"1.0.0","description":"Paid probabilistic market/funding/wallet/risk intelligence over an append-only decision ledger. x402 USDC/Base per-call payments; honest refusals instead of fabricated numbers."},"servers":[{"url":"https://api.tollbridge.app"}],"paths":{"/healthz":{"get":{"summary":"Liveness + provider health rollup","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/health":{"get":{"summary":"Alias of /healthz (operator convention)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/readyz":{"get":{"summary":"Readiness: degraded when any provider is degraded, 503 when down","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/pricing":{"get":{"summary":"Per-endpoint price list (PRICING-derived)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/providers":{"get":{"summary":"Provider inventory + health","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/openapi.json":{"get":{"summary":"OpenAPI 3.1 specification","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/openapi.json":{"get":{"summary":"OpenAPI 3.1 specification (alias of /openapi.json)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/.well-known/x402.json":{"get":{"summary":"x402 payment discovery","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/.well-known/x402":{"get":{"summary":"x402 payment discovery (alias of /.well-known/x402.json)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/.well-known/mcp.json":{"get":{"summary":"MCP server + tool discovery","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/.well-known/x402/mcp.json":{"get":{"summary":"MCP server + tool discovery (the x402-convention path; same document as /.well-known/mcp.json)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/.well-known/ai.txt":{"get":{"summary":"Agent discovery pointer (llms.txt, llms-full.txt, x402, MCP, openapi)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/robots.txt":{"get":{"summary":"Crawler policy: Allow /, Disallow /v1/admin/","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/.well-known/agent.json":{"get":{"summary":"Agent identity card","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/llms.txt":{"get":{"summary":"llmstxt.org v2 specification (first 40 lines: the pay→poll→feed→next loop, tool names, the decision price on Base, canonical-host footnote)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/llms-full.txt":{"get":{"summary":"The complete agent recipe + endpoint reference (same document as /llms.txt)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/docs":{"get":{"summary":"Human documentation (302 to TOLLBRIDGE_DOCS_URL, default /openapi.json)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"302":{"description":"Redirect to the documentation target"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/market/{asset}":{"get":{"summary":"Fresh quote + derived state (free market snapshot)","tags":["platform"],"parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/market/{asset}/regime":{"get":{"summary":"S01 market-regime decision (jevChoice distribution)","tags":["paid"],"parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"signals.evaluate","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/market/{asset}/risk":{"get":{"summary":"S02 liquidation-risk decision (DEFERRED — typed refusal, refund-on-ask)","tags":["paid"],"parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"signals.evaluate","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/liquidation/{asset}":{"get":{"summary":"Raw liquidation surfaces + honest unavailability","tags":["paid"],"parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"perp.liquidations","free":false,"price_usd":0.002,"price_atomic":"2000"}}},"/v1/funding":{"get":{"summary":"Raw funding snapshot for every canonical asset","tags":["paid"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"perp.funding","free":false,"price_usd":0.002,"price_atomic":"2000"}}},"/v1/funding/{asset}":{"get":{"summary":"S06 funding decision (live), basis, execution-risk context","tags":["paid"],"parameters":[{"name":"asset","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"signals.evaluate","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/funding/opportunities":{"get":{"summary":"S06 funding-anomaly scan with explicit assumptions (no profit claims)","tags":["paid"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"signals.evaluate","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/wallet/{chain}/{address}":{"get":{"summary":"Wallet profile (state machine + sample adequacy) — surface wired, indexer unwired (typed 503); the S09/S10 decision is deferred","tags":["paid"],"parameters":[{"name":"chain","in":"path","required":true,"schema":{"type":"string","const":"base"}},{"name":"address","in":"path","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"wallet.profile","free":false,"price_usd":0.005,"price_atomic":"5000"}}},"/v1/wallet/{chain}/{address}/state":{"get":{"summary":"Wallet state machine position + evidence summary (S09/S10 decision surfaces — DEFERRED: no resolver)","tags":["paid"],"parameters":[{"name":"chain","in":"path","required":true,"schema":{"type":"string","const":"base"}},{"name":"address","in":"path","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"wallet.state","free":false,"price_usd":0.005,"price_atomic":"5000"}}},"/v1/wallet/{chain}/{address}/positions":{"get":{"summary":"Wallet balances surface","tags":["paid"],"parameters":[{"name":"chain","in":"path","required":true,"schema":{"type":"string","const":"base"}},{"name":"address","in":"path","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"wallet.state","free":false,"price_usd":0.005,"price_atomic":"5000"}}},"/v1/wallet/{chain}/{address}/events":{"get":{"summary":"Paginated wallet transfer events (wired rail, indexer unwired — typed 503, not a live tape)","tags":["paid"],"parameters":[{"name":"chain","in":"path","required":true,"schema":{"type":"string","const":"base"}},{"name":"address","in":"path","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"wallet.events","free":false,"price_usd":0.005,"price_atomic":"5000"}}},"/v1/risk/transaction":{"post":{"summary":"S11 candidate-transaction risk (DEFERRED — typed refusal, refund-on-ask)","tags":["paid"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}},"required":["asset","address"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"risk.assess","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/risk/token":{"post":{"summary":"S11 token-subject risk (DEFERRED — typed refusal, refund-on-ask)","tags":["paid"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}},"required":["asset","address"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"risk.assess","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/risk/wallet":{"post":{"summary":"S11 wallet-subject risk (DEFERRED — typed refusal, refund-on-ask)","tags":["paid"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}},"required":["asset","address"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"risk.assess","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/risk/protocol":{"post":{"summary":"S11 protocol-subject risk (shared S11 pipeline, subject labeling)","tags":["paid"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}},"required":["asset","address"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"risk.assess","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/decisions":{"post":{"summary":"Deep decision: run any catalog signal through the engine (PAID, Idempotency-Key aware). The 200 carries next.poll (the resolution path) + feed/blotter/next links.","tags":["paid"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"chain":{"default":"base","type":"string","const":"base"},"question_id":{"type":"string","enum":["S01_market_regime","S02_liquidation_risk","S03_long_squeeze","S04_short_squeeze","S05_volatility_expansion","S06_funding_anomaly","S07_funding_persistence","S08_oi_anomaly","S09_wallet_accumulation","S10_wallet_distribution","S11_transaction_risk","S12_momentum_exhaustion","S13_volume_drought","S14_liquidity_migration","S15_basis_stress","S16_spread_blowout","S17_book_imbalance_flip","S18_depth_withdrawal","S19_liquidation_burst","S20_liquidation_severity","S21_mark_slippage_stress","S22_liquidation_side_pressure","S23_wallet_net_outflow","S24_wallet_concentration","S25_unusual_wallet_activity","S26_account_deleverage","X05_vol_1m","X05_vol_3m","X05_vol_5m","X05_vol_15m","X05_vol_30m","X06_move_1m","X06_move_3m","X06_move_5m","X06_move_15m","X06_move_30m","X07_move_1m","X07_move_3m","X07_move_5m","X07_move_15m","X07_move_30m","X08_move_1m","X08_move_3m","X08_move_5m","X08_move_15m","X08_move_30m","X08_move_60m","X09_move_1m","X09_move_3m","X09_move_5m","X09_move_15m","X09_move_30m","X09_move_60m"]},"question_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"},"timeframe":{"type":"string","enum":["1m","3m","5m","15m","30m","1h","4h"],"description":"A decision window (see GET /v1/signals.timeframes)"},"wallet":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"embed_ref":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"}},"required":["asset","question_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"decision_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"timestamp":{"type":"string"},"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"chain":{"type":"string"},"question_id":{"type":"string"},"version":{"type":["string","null"]},"event":{"type":["string","null"]},"horizon":{"type":["string","null"]},"horizon_end":{"type":["string","null"]},"conditions":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"probability":{"type":["number","null"]},"confidence":{"type":["number","null"]},"decision":{"type":"string"},"action":{"type":"string"},"input_hash":{"type":"string"},"state_hash":{"type":"string"},"feature_version":{"type":"string"},"question_version":{"type":"string"},"jev_version":{"type":"string"},"policy_version":{"type":"string"},"payment_id":{"type":["string","null"]},"outcome_id":{"type":["string","null"]},"choice":{"anyOf":[{"type":"object","properties":{"choice_id":{"type":"string"},"distribution":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}},"required":["choice_id","distribution"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"refusal":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":{}},"reconstructed":{"type":"boolean"},"note":{"type":"string"},"calibration":{"type":"object","properties":{"basis":{"type":"string","const":"measured_history"},"source":{"type":"string"},"observations":{"type":"number"},"assets":{"type":"array","items":{"type":"string"}},"window_days":{"type":["number","null"]},"starting_condition":{"type":"string"}},"required":["basis","source","observations","assets","window_days"],"additionalProperties":{}}},"required":["decision_id","timestamp","asset","chain","event","horizon","conditions","probability","confidence","decision","action","input_hash","state_hash","question_version","jev_version","policy_version","payment_id","outcome_id"],"additionalProperties":{}},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"decision.deep","free":false,"price_usd":1,"price_atomic":"1000000"}},"get":{"summary":"The SERIES: newest-first decisions for a question on an asset with resolutions joined (free, limit ≤ 20, refusals included)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/decisions/next":{"post":{"summary":"THE RELAPSE PATH: ask the NEXT dated sentence on the same question+asset as a previous decision (PAID at the decision price). Refused with clock_open while the previous clock is pending.","tags":["paid"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"decision.deep","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/hooks":{"post":{"summary":"Arm a resolution hook: the worker POSTs the ResolutionRecord to your url the instant the watched decision writes, signed X-Tollbridge-Signature (HMAC-SHA256, one retry). PAID at the decision price; the url is SSRF-checked (loopback/RFC1918/link-local/metadata refused); an already-terminal clock is a 409 telling you to read /v1/resolutions/:id.","tags":["paid"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"decision.deep","free":false,"price_usd":1,"price_atomic":"1000000"}}},"/v1/decisions/latest":{"get":{"summary":"Latest decision for a question on an asset (free ledger lookup — the Deck reads the ledger, not session state)","tags":["platform"],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"decision_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"timestamp":{"type":"string"},"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"chain":{"type":"string"},"question_id":{"type":"string"},"version":{"type":["string","null"]},"event":{"type":["string","null"]},"horizon":{"type":["string","null"]},"horizon_end":{"type":["string","null"]},"conditions":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"probability":{"type":["number","null"]},"confidence":{"type":["number","null"]},"decision":{"type":"string"},"action":{"type":"string"},"input_hash":{"type":"string"},"state_hash":{"type":"string"},"feature_version":{"type":"string"},"question_version":{"type":"string"},"jev_version":{"type":"string"},"policy_version":{"type":"string"},"payment_id":{"type":["string","null"]},"outcome_id":{"type":["string","null"]},"choice":{"anyOf":[{"type":"object","properties":{"choice_id":{"type":"string"},"distribution":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}},"required":["choice_id","distribution"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"refusal":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":{}},"reconstructed":{"type":"boolean"},"note":{"type":"string"},"calibration":{"type":"object","properties":{"basis":{"type":"string","const":"measured_history"},"source":{"type":"string"},"observations":{"type":"number"},"assets":{"type":"array","items":{"type":"string"}},"window_days":{"type":["number","null"]},"starting_condition":{"type":"string"}},"required":["basis","source","observations","assets","window_days"],"additionalProperties":{}}},"required":["decision_id","timestamp","asset","chain","event","horizon","conditions","probability","confidence","decision","action","input_hash","state_hash","question_version","jev_version","policy_version","payment_id","outcome_id"],"additionalProperties":{}},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/decisions/{decision_id}":{"get":{"summary":"Fetch a recorded decision (free read)","tags":["platform"],"parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-fA-F]{8}(-?[0-9a-fA-F]{4})*$|^[0-9a-fA-F-]{8,36}$"}}],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"decision_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"timestamp":{"type":"string"},"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"chain":{"type":"string"},"question_id":{"type":"string"},"version":{"type":["string","null"]},"event":{"type":["string","null"]},"horizon":{"type":["string","null"]},"horizon_end":{"type":["string","null"]},"conditions":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"probability":{"type":["number","null"]},"confidence":{"type":["number","null"]},"decision":{"type":"string"},"action":{"type":"string"},"input_hash":{"type":"string"},"state_hash":{"type":"string"},"feature_version":{"type":"string"},"question_version":{"type":"string"},"jev_version":{"type":"string"},"policy_version":{"type":"string"},"payment_id":{"type":["string","null"]},"outcome_id":{"type":["string","null"]},"choice":{"anyOf":[{"type":"object","properties":{"choice_id":{"type":"string"},"distribution":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}},"required":["choice_id","distribution"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"refusal":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":{}},"reconstructed":{"type":"boolean"},"note":{"type":"string"},"calibration":{"type":"object","properties":{"basis":{"type":"string","const":"measured_history"},"source":{"type":"string"},"observations":{"type":"number"},"assets":{"type":"array","items":{"type":"string"}},"window_days":{"type":["number","null"]},"starting_condition":{"type":"string"}},"required":["basis","source","observations","assets","window_days"],"additionalProperties":{}}},"required":["decision_id","timestamp","asset","chain","event","horizon","conditions","probability","confidence","decision","action","input_hash","state_hash","question_version","jev_version","policy_version","payment_id","outcome_id"],"additionalProperties":{}},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/decisions/{decision_id}/replay":{"post":{"summary":"Deterministic policy-only replay of a recorded decision (free)","tags":["platform"],"parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ruleset_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"decision_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"original_verdict":{"type":"object","properties":{"decision":{"type":"string"},"action":{"type":"string"},"policy_version":{"type":"string"},"matched_rules":{"type":"array","items":{"type":"string"}}},"required":["decision","action","policy_version","matched_rules"],"additionalProperties":{}},"replayed_verdict":{"type":"object","properties":{"decision":{"type":"string"},"action":{"type":"string"},"matched_rules":{"type":"array","items":{"type":"string"}},"policy_version":{"type":"string"}},"required":["decision","action","matched_rules","policy_version"],"additionalProperties":{}},"matched_rules":{"type":"array","items":{"type":"string"}},"policy_version":{"type":"string"},"deterministic":{"type":"boolean","const":true},"decision_record":{"type":"object","properties":{"decision_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"timestamp":{"type":"string"},"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"chain":{"type":"string"},"question_id":{"type":"string"},"version":{"type":["string","null"]},"event":{"type":["string","null"]},"horizon":{"type":["string","null"]},"horizon_end":{"type":["string","null"]},"conditions":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"probability":{"type":["number","null"]},"confidence":{"type":["number","null"]},"decision":{"type":"string"},"action":{"type":"string"},"input_hash":{"type":"string"},"state_hash":{"type":"string"},"feature_version":{"type":"string"},"question_version":{"type":"string"},"jev_version":{"type":"string"},"policy_version":{"type":"string"},"payment_id":{"type":["string","null"]},"outcome_id":{"type":["string","null"]},"choice":{"anyOf":[{"type":"object","properties":{"choice_id":{"type":"string"},"distribution":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}},"required":["choice_id","distribution"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"refusal":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":{}},"reconstructed":{"type":"boolean"},"note":{"type":"string"},"calibration":{"type":"object","properties":{"basis":{"type":"string","const":"measured_history"},"source":{"type":"string"},"observations":{"type":"number"},"assets":{"type":"array","items":{"type":"string"}},"window_days":{"type":["number","null"]},"starting_condition":{"type":"string"}},"required":["basis","source","observations","assets","window_days"],"additionalProperties":{}}},"required":["decision_id","timestamp","asset","chain","event","horizon","conditions","probability","confidence","decision","action","input_hash","state_hash","question_version","jev_version","policy_version","payment_id","outcome_id"],"additionalProperties":{}}},"required":["decision_id","original_verdict","replayed_verdict","matched_rules","policy_version","deterministic"],"additionalProperties":{}},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/resolutions/{decision_id}":{"get":{"summary":"Resolution outcome of a settled decision (realized | obtains | not | unresolvable grammar — CHOICE claims resolve realized with the predicted/realized/match sentence; typed pending)","tags":["platform"],"parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","const":"pending"},"horizon_end":{"type":["string","null"]}},"required":["status","horizon_end"],"additionalProperties":{}},{"type":"object","properties":{"decision_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"outcome":{"type":"string","enum":["obtains","not","unresolvable","realized"]},"resolved_at":{"type":["string","null"]},"predicted_label":{"type":["string","null"]},"realized_label":{"type":["string","null"]},"match":{"type":["boolean","null"]},"statistic":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"reason":{"type":"string"},"notes":{"type":"string"},"stored":{"type":"object","properties":{"status":{"type":"string"},"observed_outcome":{"type":["boolean","null"]},"note":{"type":["string","null"]}},"required":["status","observed_outcome","note"],"additionalProperties":{}},"question_id":{"type":["string","null"]},"output":{"anyOf":[{"type":"string","enum":["choice","probability"]},{"type":"null"}]}},"required":["decision_id","outcome","resolved_at","stored"],"additionalProperties":{}}]},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/calibration":{"get":{"summary":"Reliability buckets per question (publication-gated; n too small shown honestly)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/intelligence":{"get":{"summary":"The intelligence curve: the latest Decision-Intelligence Index snapshot (chain-verified; insufficient sample stated verbatim)","tags":["platform"],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"snapshot":{"anyOf":[{"type":"object","properties":{"index_version":{"type":"string"},"composite":{"type":["number","null"]},"insufficient_note":{"type":["string","null"]},"components":{"type":"object","properties":{"brier":{"type":"number"},"logloss":{"type":"number"},"skill_vs_reference":{"type":["number","null"]},"reliability":{"type":"number"},"resolution":{"type":"number"},"uncertainty":{"type":"number"},"ece":{"type":["number","null"]},"resolution_rate":{"type":["number","null"]}},"required":["brier","logloss","skill_vs_reference","reliability","resolution","uncertainty","ece","resolution_rate"],"additionalProperties":false},"evidence":{"type":"object","properties":{"n_realized":{"type":"number"},"n_unresolvable":{"type":"number"},"n_decisions":{"type":"number"},"n_refused":{"type":"number"},"window_start":{"type":"string"},"window_end":{"type":"string"}},"required":["n_realized","n_unresolvable","n_decisions","n_refused","window_start","window_end"],"additionalProperties":false},"benchmarks":{"type":"object","properties":{"reference_brier":{"type":["number","null"]},"crowd":{"anyOf":[{"type":"object","properties":{"brier":{"type":"number"},"n":{"type":"number"}},"required":["brier","n"],"additionalProperties":false},{"type":"null"}]}},"required":["reference_brier","crowd"],"additionalProperties":false},"published_bands":{"type":"number"},"active_release":{"anyOf":[{"type":"object","properties":{"version":{"type":"string"},"activated_at":{"type":["string","null"]},"delta_brier":{"type":["number","null"]},"delta_brier_ci":{"anyOf":[{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}],"items":false,"minItems":2,"maxItems":2},{"type":"null"}]},"holdout_bss":{"type":["number","null"]},"holdout_bss_ci":{"anyOf":[{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}],"items":false,"minItems":2,"maxItems":2},{"type":"null"}]},"dataset_hash":{"type":["string","null"]}},"required":["version","activated_at","delta_brier","delta_brier_ci","holdout_bss","holdout_bss_ci","dataset_hash"],"additionalProperties":false},{"type":"null"}]},"release_delta":{"type":["number","null"]},"rung":{"type":"number"},"taken_at":{"type":"string"},"prev_hash":{"type":["string","null"]},"row_hash":{"type":"string"}},"required":["index_version","composite","insufficient_note","components","evidence","benchmarks","published_bands","active_release","release_delta","rung","taken_at","prev_hash","row_hash"],"additionalProperties":false},{"type":"null"}]},"chain_verified":{"type":"boolean"},"ladder":{"type":"object","properties":{"rung":{"type":"number"},"multiplier":{"type":"number"},"effective_at":{"type":["string","null"]},"gates":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"threshold":{"type":["number","string"]},"current":{"type":["number","string","null"]},"met":{"type":"boolean"},"remaining":{"type":["number","string","null"]}},"required":["kind","threshold","current","met","remaining"],"additionalProperties":false}},"pending":{"anyOf":[{"type":"object","properties":{"rung":{"type":"number"},"crossed_at":{"type":"string"},"effective_at":{"type":"string"},"ms_remaining":{"type":"number"}},"required":["rung","crossed_at","effective_at","ms_remaining"],"additionalProperties":false},{"type":"null"}]},"next":{"anyOf":[{"type":"object","properties":{"rung":{"type":"number"},"evidence":{"anyOf":[{"type":"object","properties":{"threshold":{"type":"number"},"remaining":{"type":"number"}},"required":["threshold","remaining"],"additionalProperties":false},{"type":"null"}]},"gates":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"threshold":{"type":["number","string"]},"current":{"type":["number","string","null"]},"met":{"type":"boolean"},"remaining":{"type":["number","string","null"]}},"required":["kind","threshold","current","met","remaining"],"additionalProperties":false}}},"required":["rung","evidence","gates"],"additionalProperties":false},{"type":"null"}]}},"required":["rung","multiplier","effective_at","gates","pending","next"],"additionalProperties":false},"note":{"type":"string"}},"required":["snapshot"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/intelligence/curve":{"get":{"summary":"The learning curve: the anchored evidence points and the published power-law fit (learning velocity with its CI)","tags":["platform"],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"index_version":{"type":"string"},"points":{"type":"array","items":{"type":"object","properties":{"n_cum":{"type":"number"},"brier":{"type":["number","null"]},"logloss":{"type":["number","null"]},"ece":{"type":["number","null"]},"release":{"type":["string","null"]},"taken_at":{"type":"string"},"index_version":{"type":"string"}},"required":["n_cum","brier","logloss","ece","release","taken_at","index_version"],"additionalProperties":false}},"fit":{"anyOf":[{"type":"object","properties":{"a":{"type":"number"},"b":{"type":"number"},"c":{"type":"number"},"b_ci":{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}],"items":false,"minItems":2,"maxItems":2},"n_points":{"type":"number"}},"required":["a","b","c","b_ci","n_points"],"additionalProperties":false},{"type":"null"}]},"note":{"type":["string","null"]}},"required":["index_version","points","fit","note"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/intelligence/releases":{"get":{"summary":"The intelligence release feed: sealed releases and rejected candidates, with their measured deltas and gate verdicts","tags":["platform"],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"releases":{"type":"array","items":{"type":"object","properties":{"version":{"type":"string"},"parent":{"type":["string","null"]},"status":{"type":"string"},"created_at":{"type":"string"},"activated_at":{"type":["string","null"]},"measured_at":{"type":"string"},"dataset":{"type":"object","properties":{"window_start":{"type":"string"},"window_end":{"type":"string"},"n_realized":{"type":"number"},"dataset_hash":{"type":"string"}},"required":["window_start","window_end","n_realized","dataset_hash"],"additionalProperties":false},"evaluation":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"gates":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"gate_verdicts":{"type":"object","properties":{"evidence":{"anyOf":[{"type":"object","properties":{"met":{"type":"boolean"},"measured":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"reason":{"type":["string","null"]}},"required":["met","measured","reason"],"additionalProperties":false},{"type":"null"}]},"improvement":{"anyOf":[{"type":"object","properties":{"met":{"type":"boolean"},"measured":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"reason":{"type":["string","null"]}},"required":["met","measured","reason"],"additionalProperties":false},{"type":"null"}]},"no_regression":{"anyOf":[{"type":"object","properties":{"met":{"type":"boolean"},"measured":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"reason":{"type":["string","null"]}},"required":["met","measured","reason"],"additionalProperties":false},{"type":"null"}]},"reproducible":{"anyOf":[{"type":"object","properties":{"met":{"type":"boolean"},"measured":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"reason":{"type":["string","null"]}},"required":["met","measured","reason"],"additionalProperties":false},{"type":"null"}]}},"required":["evidence","improvement","no_regression","reproducible"],"additionalProperties":false}},"required":["version","parent","status","created_at","activated_at","measured_at","dataset","evaluation","gates","gate_verdicts"],"additionalProperties":false}}},"required":["releases"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/intelligence/releases/:version":{"get":{"summary":"One intelligence release as its full proof bundle: the sealed body, the evaluation, the gate verdicts, the dataset provenance","tags":["platform"],"parameters":[{"name":"version","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":32}}],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"version":{"type":"string"},"parent":{"type":["string","null"]},"status":{"type":"string"},"created_at":{"type":"string"},"activated_at":{"type":["string","null"]},"measured_at":{"type":"string"},"dataset":{"type":"object","properties":{"window_start":{"type":"string"},"window_end":{"type":"string"},"n_realized":{"type":"number"},"dataset_hash":{"type":"string"}},"required":["window_start","window_end","n_realized","dataset_hash"],"additionalProperties":false},"evaluation":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"gates":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"gate_verdicts":{"type":"object","properties":{"evidence":{"anyOf":[{"type":"object","properties":{"met":{"type":"boolean"},"measured":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"reason":{"type":["string","null"]}},"required":["met","measured","reason"],"additionalProperties":false},{"type":"null"}]},"improvement":{"anyOf":[{"type":"object","properties":{"met":{"type":"boolean"},"measured":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"reason":{"type":["string","null"]}},"required":["met","measured","reason"],"additionalProperties":false},{"type":"null"}]},"no_regression":{"anyOf":[{"type":"object","properties":{"met":{"type":"boolean"},"measured":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"reason":{"type":["string","null"]}},"required":["met","measured","reason"],"additionalProperties":false},{"type":"null"}]},"reproducible":{"anyOf":[{"type":"object","properties":{"met":{"type":"boolean"},"measured":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"reason":{"type":["string","null"]}},"required":["met","measured","reason"],"additionalProperties":false},{"type":"null"}]}},"required":["evidence","improvement","no_regression","reproducible"],"additionalProperties":false},"body":{"anyOf":[{},{"type":"null"}]}},"required":["version","parent","status","created_at","activated_at","measured_at","dataset","evaluation","gates","gate_verdicts","body"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/clocks/open":{"get":{"summary":"Open clocks: the pending decisions across the live questions and canonical assets, soonest horizon first (free; [] when nothing is in flight — never an invented row)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/feed":{"get":{"summary":"THE FEED: the newest TERMINAL chips (resolved decisions) newest-first — decision_id, question_id, asset, output, predicted, realized, match, observed, status, resolved_at, horizon_end. CHOICE chips carry predicted+realized+match (labels); PROBABILITY chips carry predicted (the frozen p) + observed (the event) with realized/match null — a probabilistic claim has no binary match. Free to lurk; no wallets, no model guts, no pending rows. limit defaults to 50 (max 200).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/calls":{"post":{"summary":"BEAT THE HOUSE: lock your OWN call on an OPEN clock before its horizon — obtains | not on a probability question, the question's own label on a choice question. FREE: credits are spent only on the ask that opened the clock; a call is never billed and never moves the house number. Send x-tollbridge-payer. Immutable after the horizon (409 CLOCK_CLOSED; the DB refuses a late insert), one call per payer per clock (409 CALL_LOCKED), unknown or refused decision 404. At resolve the SAME evaluator that graded the house grades your call; an unresolvable tape grades nothing.","tags":["platform"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"decision_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"call":{"type":"string","minLength":1,"maxLength":32},"call_probability":{"type":"number","minimum":0,"maximum":1}},"required":["decision_id","call"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}},"get":{"summary":"Your calls + your scoreboard, strictly personal: rows are served only for the ?payer= you name, and no listing across payers exists. Calls, grades (score, house_outcome, realized_label), and the board — n, graded, open, player/house accuracy and Brier. Free; n=0 reports nulls, never zeros.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/calls/scoreboard":{"get":{"summary":"The personal scoreboard against the house on identical clocks: n, graded, open, player/house accuracy, both Briers, per question. Personal only — omitting ?payer= is a 404 (no public leaderboard ships; the opt-in flag records consent for a future one).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/calls/opt-in":{"post":{"summary":"Record your consent (default false) for a future public view of your scoreboard. No public board is served this wave even with opt-in — personal boards only.","tags":["platform"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"opt_in":{"type":"boolean"}},"required":["payer","opt_in"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/standings":{"post":{"summary":"Register a scheduled run (every-window auto-ask) for one question × subject. FREE registration; the runs bill at the question tier via the worker. Requires spend_cap_credits >= 10 windows and acknowledge_spend_cap: true; one active run per identity triple (409 on a duplicate); an untiered question can never be scheduled (typed refusal).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}},"get":{"summary":"Your scheduled runs (personal only, x-tollbridge-payer required). An empty list is data. DELETE /v1/standings/{id} stops one run (soft pause — the row and history survive; a foreign id is the same 404 as an unknown one).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/scoreboard":{"get":{"summary":"The PUBLIC opt-in leaderboard over graded player calls (?window=all|30d|7d). No pay-to-rank: billing never joins the ranking. >= 10 graded calls to rank, abbreviated handles. Zero qualified players is an honest empty board, not an error.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/admin/economy-funnel":{"get":{"summary":"OPERATOR ONLY (x-admin-key): the real economy funnel projected from the journals the product already keeps — question opened, free question consumed, decision run, player call locked, decision resolved, call graded, XP, quest, badge, settled purchase and second paid run — plus the Phase 27 activation report (a payer activates on their FIRST GRADED call) and the snapshot trend. Unmeasurable steps are null with a named reason, never 0.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/hook-endpoints":{"post":{"summary":"Register a PAYER-LEVEL outcome endpoint (paid from credits: billing.addon.hook, 30-day window). Every resolution that matches your payer fires to it, signed X-Tollbridge-Signature (HMAC-SHA256). The per-endpoint secret is returned once; cap 10 active endpoints; replay within the window is free.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}},"get":{"summary":"Your outcome endpoints with delivery counts derived ONLY from the append-only hook_deliveries rows (registered / delivered / failing). Free; x-tollbridge-payer required. DELETE /v1/hook-endpoints/{endpoint_id} pauses one (soft stop; delivery history survives; a foreign id is the same 404 as an unknown one).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/exports":{"post":{"summary":"Export YOUR decision history (CSV or JSONL, priced from credits: billing.export.asset_period, idempotent per payer/scope/subject/month, wallet redacted, 50k-row cap; a failure refunds). Returns the serialized file with an honest row-count header.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/push/config":{"get":{"summary":"Is Web Push configured on this deployment? Returns { configured, vapid_public_key } — configured:false with a null key is the honest dark state (subscribe nothing, promise nothing).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/push/endpoints":{"post":{"summary":"Register one browser push subscription for a payer (x-tollbridge-payer required). The endpoint URL is SSRF-checked and must be https; re-registering the same endpoint refreshes its keys and re-enables it (idempotent).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}},"get":{"summary":"Your push devices (host, timestamps, active flag — never a key). Free; x-tollbridge-payer required. DELETE /v1/push/endpoints/{endpoint_id} soft-stops one device (the row survives with disabled_at; a re-subscribe re-enables it — a device is never silently deleted).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/follows":{"post":{"summary":"Follow one (question × subject): on resolution the worker delivers the resolution sentence on every channel you enabled (channels bitmask 1=push 2=email 4=telegram; delivery requires the deployment to have that channel configured — an unconfigured channel fails visibly, never silently). Re-following is idempotent and updates the bitmask. Engagement state only: no probability, prompt or threshold rides these rows.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}},"get":{"summary":"Your follows (question × subject × channel bitmask). Free; x-tollbridge-payer required. Unfollow is the identity-key DELETE (?question_id=&subject_kind=&subject=) — idempotent; removing nothing is data, not an error.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/alerts":{"get":{"summary":"Your active alert watches (kind, subject, your threshold). Free; x-tollbridge-payer required. DELETE /v1/alerts/{alert_id} stops one (soft unsubscribe — the row that documented the watch survives; a foreign id is the same 404 as an unknown one).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}},"post":{"summary":"Watch a subject on the alert engine: kind (one of the seven engine kinds), asset or address, and for probability kinds your own threshold — delivery rides the SAME dedupe + cooldown law as operator alerts, out to your push devices. A threshold gates NOTIFICATIONS only; it never changes any published judgment. Cap 50 active watches (typed 409 beyond).","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/policy/seal":{"get":{"summary":"The checksum-sealed ruleset that drives every refusal: { version, checksum, ruleset }. Recompute the checksum from the body with the policy library and compare — the seal proves which rules were in force, not that storage works.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/verify":{"post":{"summary":"The open claim-checker (FREE, pure computation): paste a POJ receipt ({ poj_id, body }) and it recomputes the id with the frozen JCS sha256 canon — the exact arithmetic that froze the decision record — and reports validity plus per-field checks. Internal consistency only: the ledger row is the reference, and the resolution alone says whether a claim came true. Wrong content is a verdict (valid:false); wrong format is a typed 400.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/priors":{"get":{"summary":"The measured base rates (pooled prior per question: rate, Wilson CI, n, successes, verdict; the S01 label histogram; explicit nulls + the honest reason where no prior exists). The same read path the emit path reconciles against — a prior is a base rate, never a forecast. Free.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/universe":{"get":{"summary":"The live venue universe: top perps by 24h notional volume, computed from the venue tape and cached ≤15s (free; delisted names dropped, provenance included — never a curated list)","tags":["platform"],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"venue":{"type":"string"},"as_of":{"type":"string"},"quality":{"type":"string","enum":["real","degraded"]},"assets":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"mid":{"type":["number","null"]},"mark":{"type":["number","null"]},"change_24h":{"type":["number","null"]},"volume_24h":{"type":"number"},"oi_usd":{"type":["number","null"]},"funding":{"type":["number","null"]},"max_leverage":{"type":["number","null"]},"delisted":{"type":"boolean","const":false}},"required":["symbol","mid","mark","change_24h","volume_24h","oi_usd","funding","max_leverage","delisted"],"additionalProperties":false}},"count":{"type":"number"},"total_live":{"type":"number"},"truncated":{"type":"boolean"}},"required":["venue","as_of","quality","assets","count","total_live","truncated"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/marketcap":{"get":{"summary":"The largest coins by market cap: the DISCOVERY list a user picks a subject from, ranked market-cap-descending and computed from a named public source (free; each row carries askable:true|false|null — askable only when the venue universe also trades it, so a top-cap coin with no live market is discoverable yet honestly marked not askable; never a curated list)","tags":["platform"],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"source":{"type":"string"},"as_of":{"type":"string"},"quality":{"type":"string","enum":["real","degraded"]},"rank_by":{"type":"string","const":"market_cap"},"assets":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"symbol":{"type":"string"},"name":{"type":"string"},"market_cap_usd":{"type":"number"},"price_usd":{"type":["number","null"]},"change_24h":{"type":["number","null"]},"askable":{"type":["boolean","null"]}},"required":["rank","symbol","name","market_cap_usd","price_usd","change_24h","askable"],"additionalProperties":false}},"count":{"type":"number"},"total_ranked":{"type":"number"},"truncated":{"type":"boolean"},"off_venue_count":{"type":["number","null"]},"note":{"type":"string"}},"required":["source","as_of","quality","rank_by","assets","count","total_ranked","truncated","off_venue_count","note"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/signals":{"get":{"summary":"The question catalog with DERIVED capability: available vs blocked for each of the 26 questions, computed from the resolution-evaluator registry and the emit gates (free; the one call an agent needs to discover what it can ask)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/liq/hours":{"get":{"summary":"The liquidation tape inspector: the hourly sided-liquidation observations on record for an asset, on the operator-named tape (free; the N/24 figure behind S02/S03/S04 — a count and the raw hours, never a probability)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/sheet":{"get":{"summary":"THE CANONICAL QUESTION SHEET: for one asset, all twenty-six questions in fixed catalog order with derived live/dark/pending/empty state, the ask gate and price, and the exact blocker for the dark rows (free — every customer surface renders this one object; an unknown asset is a typed 404)","tags":["platform"],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"asset":{"type":"string"},"venue":{"type":"string","const":"hyperliquid"},"as_of":{"type":"string"},"quality":{"type":"string","enum":["real","degraded"]},"available_count":{"type":"number"},"dark_count":{"type":"number"},"clocks":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string"},"label":{"type":"string"},"asset":{"type":"string"},"decision_id":{"type":"string"},"predicted":{"type":["string","number","null"]},"horizon_end":{"type":["string","null"]}},"required":["question_id","label","asset","decision_id","predicted","horizon_end"],"additionalProperties":false}},"rows":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string"},"label":{"type":"string"},"window":{"type":"string","enum":["60m","24h"]},"kind":{"type":"string","enum":["60m","24h"]},"state":{"type":"string","enum":["live","dark","pending","empty"]},"decision_id":{"type":"string"},"predicted":{"type":["string","number","null"]},"realized":{"type":["boolean","null"]},"match":{"type":["boolean","null"]},"horizon_end":{"type":["string","null"]},"ask":{"type":"object","properties":{"allowed":{"type":"boolean"},"price_usd":{"type":["number","null"]},"credits":{"type":["number","null"]},"needs_wallet":{"type":"boolean"}},"required":["allowed","price_usd","credits","needs_wallet"],"additionalProperties":false},"blocker":{"type":"string"}},"required":["question_id","label","window","kind","state","ask"],"additionalProperties":false}}},"required":["asset","venue","as_of","quality","available_count","dark_count","clocks","rows"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/blotter":{"get":{"summary":"THE CROSS-ASSET BLOTTER: every open clock across the assets you name (soonest horizon first), the last dead chip per question on each asset, and each dark question listed once with its exact blocker (free; assets defaults to BTC,ETH,SOL and is capped at 20; an unknown asset is skipped with a typed warning, never a 404 of the whole blotter)","tags":["platform"],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"as_of":{"type":"string"},"pending":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string"},"label":{"type":"string"},"window":{"type":"string","enum":["60m","24h"]},"kind":{"type":"string","enum":["60m","24h"]},"state":{"type":"string","enum":["live","dark","pending","empty"]},"decision_id":{"type":"string"},"predicted":{"type":["string","number","null"]},"realized":{"type":["boolean","null"]},"match":{"type":["boolean","null"]},"horizon_end":{"type":["string","null"]},"ask":{"type":"object","properties":{"allowed":{"type":"boolean"},"price_usd":{"type":["number","null"]},"credits":{"type":["number","null"]},"needs_wallet":{"type":"boolean"}},"required":["allowed","price_usd","credits","needs_wallet"],"additionalProperties":false},"blocker":{"type":"string"},"asset":{"type":"string"}},"required":["question_id","label","window","kind","state","ask","asset"],"additionalProperties":false}},"latest_terminal":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string"},"label":{"type":"string"},"window":{"type":"string","enum":["60m","24h"]},"kind":{"type":"string","enum":["60m","24h"]},"state":{"type":"string","enum":["live","dark","pending","empty"]},"decision_id":{"type":"string"},"predicted":{"type":["string","number","null"]},"realized":{"type":["boolean","null"]},"match":{"type":["boolean","null"]},"horizon_end":{"type":["string","null"]},"ask":{"type":"object","properties":{"allowed":{"type":"boolean"},"price_usd":{"type":["number","null"]},"credits":{"type":["number","null"]},"needs_wallet":{"type":"boolean"}},"required":["allowed","price_usd","credits","needs_wallet"],"additionalProperties":false},"blocker":{"type":"string"},"asset":{"type":"string"}},"required":["question_id","label","window","kind","state","ask","asset"],"additionalProperties":false}},"dark":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string"},"blocker":{"type":"string"}},"required":["question_id","blocker"],"additionalProperties":false}},"warnings":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string"},"reason":{"type":"string"}},"required":["asset","reason"],"additionalProperties":false}}},"required":["as_of","pending","latest_terminal","dark","warnings"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/lineage/{decision_id}":{"get":{"summary":"THE EVIDENTIARY BUNDLE: for one decision, the full record + its resolution (or honest pending) + the payment rail + the per-input tape sources + the hashes, with a recomputed request-hash verify block (free; a short 8+ char id resolves by unique prefix). No live model call, no second venue — every cell carries a source.","tags":["platform"],"parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-fA-F]{8}(-?[0-9a-fA-F]{4})*$|^[0-9a-fA-F-]{8,36}$"}}],"responses":{"200":{"description":"Success (the tollbridge envelope: {data, meta})","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"decision":{"type":"object","properties":{},"additionalProperties":{}},"resolution":{"type":"object","properties":{},"additionalProperties":{}},"payment":{"type":"object","properties":{"rail":{"type":"string","enum":["x402","credits","none"]},"tx":{"type":"string"},"credits":{"type":"number"},"booked_payment_id":{"type":["string","null"]},"draws":{"type":"array","items":{"type":"object","properties":{"lot_id":{"type":["number","null"]},"credits":{"type":"number"},"ref":{"type":["string","null"]}},"required":["lot_id","credits","ref"],"additionalProperties":false}}},"required":["rail","booked_payment_id","draws"],"additionalProperties":false},"tape":{"type":"object","properties":{"venue":{"type":"string","const":"hyperliquid"},"sources":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"request_hash":{"type":["string","null"]},"fetched_at":{"type":["string","null"]},"url_or_method":{"type":"string"}},"required":["kind","request_hash","fetched_at","url_or_method"],"additionalProperties":false}},"model":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":["string","null"]},"request_hash":{"type":["string","null"]},"opaque":{"type":"boolean"}},"required":["name","version","request_hash","opaque"],"additionalProperties":false}},"required":["venue","sources"],"additionalProperties":false},"hashes":{"type":"object","properties":{"input_hash":{"type":["string","null"]},"state_hash":{"type":["string","null"]},"response_hash":{"type":["string","null"]}},"required":["input_hash","state_hash","response_hash"],"additionalProperties":false},"verify":{"type":"object","properties":{"input_ok":{"anyOf":[{"type":"boolean"},{"type":"string","const":"unknown"}]},"state_ok":{"anyOf":[{"type":"boolean"},{"type":"string","const":"unknown"}]},"request_hash_recomputed":{"type":["string","null"]},"request_ok":{"anyOf":[{"type":"boolean"},{"type":"string","const":"unknown"}]},"notes":{"type":"array","items":{"type":"string"}}},"required":["input_ok","state_ok","request_hash_recomputed","request_ok","notes"],"additionalProperties":false}},"required":["decision","resolution","payment","tape","hashes","verify"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string"},"timestamp":{"type":"string"},"state":{},"probabilities":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},{"type":"null"}]},"confidence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"basis":{"type":"string"}},"required":["value","basis"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"horizon":{"type":["string","null"]},"data_sources":{"type":"array","items":{"type":"string"}},"methodology_version":{"type":"string"},"pricing":{"anyOf":[{},{"type":"null"}]}},"required":["request_id","timestamp","state","probabilities","confidence","freshness","horizon","data_sources","methodology_version","pricing"],"additionalProperties":{}}},"required":["data","meta"],"additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/billing/scout":{"post":{"summary":"One-time Scout credit grant per payer (free, tightly rate-limited)","tags":["platform"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}},"required":["payer"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}},"get":{"summary":"Scout grant status for a payer: available (never held the one-time lot) + current balance (free read; the grant itself stays POST)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/billing/credits":{"get":{"summary":"Credit balance + expiring lots for a payer (free read)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/billing/draws":{"get":{"summary":"The payer-readable credit journal: every draw + credit movement, newest first, reversed_at stamped on reversed debits (free read)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/billing/grants":{"post":{"summary":"Operator grant / debit reverse (x-tollbridge-ops header; OPS_UNSET when no operator token is wired — never a public grant)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/contacts":{"post":{"summary":"Durable, acknowledged launch-contact capture for the /story waitlist: {contact, consent, source?, seat?} → 201 recorded / 200 already_recorded; CONTACTS_UNWIRED (503) when this deployment does not record contacts. Never a mail-sent claim.","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/billing/packs/{pack_id}":{"post":{"summary":"Buy a booster credit pack (x402 at the pack price; settles through the PayAI facilitator — see /.well-known/x402 for the exact rail)","tags":["paid"],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","enum":["booster_150k","booster_650k","booster_2m4","drill"]}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":false,"priced_by_param":"pack_id","endpoint":"billing.pack.*","price_usd_by_resource":{"booster_150k":150,"booster_650k":600,"booster_2m4":2000,"drill":0.01},"price_atomic_by_resource":{"booster_150k":"150000000","booster_650k":"600000000","booster_2m4":"2000000000","drill":"10000"}}}},"/v1/billing/plans/{plan_id}":{"post":{"summary":"Buy a one-cycle plan recharge (x402 at the plan price; settles through the PayAI facilitator — the free scout tier is not rechargeable)","tags":["paid"],"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","enum":["scout","operator","desk","desk_pro"]}}],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":false,"priced_by_param":"plan_id","endpoint":"billing.plan.*","price_usd_by_resource":{"operator":99,"desk":249,"desk_pro":499},"price_atomic_by_resource":{"operator":"99000000","desk":"249000000","desk_pro":"499000000"}}}},"/v1/billing/rate-lock":{"get":{"summary":"The caller's Founders' Rate quote: the locked rate while the lock lives, the ladder's rung rate otherwise (free read; payer header)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}},"post":{"summary":"Buy the Founders' Rate: a 12-month per-credit price lock at the current rung plus a premium (payer-bound, non-transferable; the fee settles with x402 and the lock lands at settle — an x-tollbridge-ops header issues it as an operator grant instead)","tags":["paid"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"credits":{"type":"number"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"endpoint":"billing.addon.pricelock","free":false,"price_usd":0.2,"price_atomic":"200000"}}},"/v1/arena/profile":{"get":{"summary":"A wallet's Arena standing: rank, XP, progress to the next rank, accuracy, streaks, markets covered and badges — all derived from measured calls, keyed by the payer address (free read; ?payer= required)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/quests":{"get":{"summary":"The daily and weekly quest board with live progress, remaining, expiry and awarded state — counted from the append-only XP journal and completed automatically once a quest target is reached (free read; ?payer= required)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/season":{"get":{"summary":"The weekly Arena season (Monday 00:00 UTC): the live season clock and every frozen season board with the top placements per track (free)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/card/{publicId}":{"get":{"summary":"Resolve a public card id to its opted-in Arena standing — the one-way digest is inverted server-side against the opt-in board only, and the standing is returned WITHOUT its address (free; typed 404 when the id names no public record)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/next-action":{"get":{"summary":"The open quests ranked by their XP reward — a deterministic recommendation of what earns the most experience next (free; ?payer= required)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/leaderboard":{"get":{"summary":"The public opt-in Arena leaderboard over rank/XP/accuracy/streak, human and agent tracks, lifetime or the live season (scope=season) — no pay-to-rank, billing never joins the ranking (free)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/opt-in":{"post":{"summary":"Record your consent for the public Arena leaderboard (free; x-tollbridge-payer required)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/agent":{"post":{"summary":"Self-declare the agent track for the leaderboard filter — a board label only, never a change to rank, XP or price (free; x-tollbridge-payer required)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/levels":{"get":{"summary":"The Intelligence Level catalog (credit bands, XP per ask and per correct call) and the earned rank ladder with its automatic credit discounts (free; static)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/notifications":{"get":{"summary":"The wallet notification feed: server-computed events from the real economic edges (a graded call, a completed quest, a badge, a rank-up, a streak change), unread first and bounded to 50, with the unread count (free; ?payer= required)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/notifications/read":{"post":{"summary":"Mark notifications read: every unread row, or just the given ids (free; body { payer, ids? })","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}},"/v1/arena/notifications/preferences":{"get":{"summary":"The effective per-kind notification toggle map — the defaults overlaid with the wallet overrides (free; ?payer= required)","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}},"put":{"summary":"Store the per-kind notification toggles; only an explicit false suppresses a kind (free; body { payer, preferences })","tags":["platform"],"responses":{"200":{"description":"Success (see the tollbridge envelope: {data, meta})"},"400":{"$ref":"#/components/responses/Error"},"402":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}},"x-tollbridge":{"free":true}}}},"components":{"schemas":{"Refusal":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":{}},"Choice":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"choice_id":{"type":"string"},"distribution":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}},"required":["choice_id","distribution"],"additionalProperties":{}},"DecisionRecord":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"decision_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"timestamp":{"type":"string"},"asset":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[A-Za-z0-9]+$","description":"Any symbol the venue universe lists — see GET /v1/universe"},"chain":{"type":"string"},"question_id":{"type":"string"},"version":{"type":["string","null"]},"event":{"type":["string","null"]},"horizon":{"type":["string","null"]},"horizon_end":{"type":["string","null"]},"conditions":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"probability":{"type":["number","null"]},"confidence":{"type":["number","null"]},"decision":{"type":"string"},"action":{"type":"string"},"input_hash":{"type":"string"},"state_hash":{"type":"string"},"feature_version":{"type":"string"},"question_version":{"type":"string"},"jev_version":{"type":"string"},"policy_version":{"type":"string"},"payment_id":{"type":["string","null"]},"outcome_id":{"type":["string","null"]},"choice":{"anyOf":[{"type":"object","properties":{"choice_id":{"type":"string"},"distribution":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}},"required":["choice_id","distribution"],"additionalProperties":{}},{"type":"null"}]},"freshness":{"type":"array","items":{}},"refusal":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":{}},"reconstructed":{"type":"boolean"},"note":{"type":"string"},"calibration":{"type":"object","properties":{"basis":{"type":"string","const":"measured_history"},"source":{"type":"string"},"observations":{"type":"number"},"assets":{"type":"array","items":{"type":"string"}},"window_days":{"type":["number","null"]},"starting_condition":{"type":"string"}},"required":["basis","source","observations","assets","window_days"],"additionalProperties":{}}},"required":["decision_id","timestamp","asset","chain","event","horizon","conditions","probability","confidence","decision","action","input_hash","state_hash","question_version","jev_version","policy_version","payment_id","outcome_id"],"additionalProperties":{}},"ResolutionRecord":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"status":{"type":"string","const":"pending"},"horizon_end":{"type":["string","null"]}},"required":["status","horizon_end"],"additionalProperties":{}},{"type":"object","properties":{"decision_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"outcome":{"type":"string","enum":["obtains","not","unresolvable","realized"]},"resolved_at":{"type":["string","null"]},"predicted_label":{"type":["string","null"]},"realized_label":{"type":["string","null"]},"match":{"type":["boolean","null"]},"statistic":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"reason":{"type":"string"},"notes":{"type":"string"},"stored":{"type":"object","properties":{"status":{"type":"string"},"observed_outcome":{"type":["boolean","null"]},"note":{"type":["string","null"]}},"required":["status","observed_outcome","note"],"additionalProperties":{}},"question_id":{"type":["string","null"]},"output":{"anyOf":[{"type":"string","enum":["choice","probability"]},{"type":"null"}]}},"required":["decision_id","outcome","resolved_at","stored"],"additionalProperties":{}}]}},"responses":{"Error":{"description":"Universal error envelope","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","retryable","retry_after_ms","request_id"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"retry_after_ms":{"type":["integer","null"]},"request_id":{"type":"string"},"detail":{"type":"object"}}}}}}}}}}}