{"openapi":"3.1.0","info":{"title":"Exchange Arbitrage Agent","summary":"Prediction-market order-book quotes and fill estimates, paid per call with x402.","description":"Free: `/v1/status`, `/v1/markets`.\n\nPaid with x402 (USDC on Base):\n- `GET /v1/quote`: $0.005 per call\n- `GET /v1/fill-estimate`: $0.01 per call\n- `GET /v1/odds-trends`: $0.01 per call\n- `GET /v1/odds-trends/summary`: $0.01 per call\n\nInvalid requests are rejected before payment. Failed requests are never charged.","version":"1.0.0","x-intents":["prediction_markets","market_data","order_book","fill_estimate","trading_signals"],"x-x402":{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","currency":"USDC","payTo":"0x0395c1bed0b83ad6f0329b4132191934733e637c"}},"servers":[{"url":"https://api-production-0b04.up.railway.app","description":"production"}],"paths":{"/v1/status":{"get":{"tags":["free"],"summary":"Agent status (free)","operationId":"get_status_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Status V1 Status Get"}}}}},"security":[]}},"/v1/markets":{"get":{"tags":["free"],"summary":"Search prediction markets (free)","operationId":"search_v1_markets_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":100,"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search V1 Markets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/v1/quote":{"get":{"tags":["paid"],"summary":"Order-book quote for one outcome ($0.005)","operationId":"get_quote_v1_quote_get","parameters":[{"name":"token_id","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{1,100}$","title":"Token Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Quote V1 Quote Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment required. PAYMENT-REQUIRED holds the base64 x402 challenge.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}}}},"x-x402":{"scheme":"exact","price":"$0.005","currency":"USDC","amount":"5000","decimals":6,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0x0395c1bed0b83ad6f0329b4132191934733e637c","maxTimeoutSeconds":60,"flow":"Call without payment, receive 402 with a PAYMENT-REQUIRED header, sign the EIP-3009 USDC authorization, retry with PAYMENT-SIGNATURE. Failed requests are never charged."},"x-payment-info":{"price":{"currency":"USD","mode":"fixed","amount":"0.005"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x0395c1bed0b83ad6f0329b4132191934733e637c","maxTimeoutSeconds":60}}]},"x-intents":["order_book","market_data"]}},"/v1/fill-estimate":{"get":{"tags":["paid"],"summary":"Fill estimate for buying shares ($0.01)","operationId":"fill_estimate_v1_fill_estimate_get","parameters":[{"name":"token_id","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{1,100}$","title":"Token Id"}},{"name":"shares","in":"query","required":true,"schema":{"type":"number","maximum":100000,"minimum":0.01,"title":"Shares"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Fill Estimate V1 Fill Estimate Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment required. PAYMENT-REQUIRED holds the base64 x402 challenge.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}}}},"x-x402":{"scheme":"exact","price":"$0.01","currency":"USDC","amount":"10000","decimals":6,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0x0395c1bed0b83ad6f0329b4132191934733e637c","maxTimeoutSeconds":60,"flow":"Call without payment, receive 402 with a PAYMENT-REQUIRED header, sign the EIP-3009 USDC authorization, retry with PAYMENT-SIGNATURE. Failed requests are never charged."},"x-payment-info":{"price":{"currency":"USD","mode":"fixed","amount":"0.01"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x0395c1bed0b83ad6f0329b4132191934733e637c","maxTimeoutSeconds":60}}]},"x-intents":["fill_estimate","order_book"]}},"/v1/odds-trends":{"get":{"tags":["paid"],"summary":"Recent stored odds comparisons ($0.01)","operationId":"get_odds_trends_v1_odds_trends_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":7,"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"team","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":100},{"type":"null"}],"title":"Team"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Odds Trends V1 Odds Trends Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment required. PAYMENT-REQUIRED holds the base64 x402 challenge.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}}}},"x-x402":{"scheme":"exact","price":"$0.01","currency":"USDC","amount":"10000","decimals":6,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0x0395c1bed0b83ad6f0329b4132191934733e637c","maxTimeoutSeconds":60,"flow":"Call without payment, receive 402 with a PAYMENT-REQUIRED header, sign the EIP-3009 USDC authorization, retry with PAYMENT-SIGNATURE. Failed requests are never charged."},"x-payment-info":{"price":{"currency":"USD","mode":"fixed","amount":"0.01"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x0395c1bed0b83ad6f0329b4132191934733e637c","maxTimeoutSeconds":60}}]},"x-intents":["trends","market_data"]}},"/v1/odds-trends/summary":{"get":{"tags":["paid"],"summary":"Trend summary by event ($0.01)","operationId":"get_odds_trends_summary_v1_odds_trends_summary_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":7,"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Odds Trends Summary V1 Odds Trends Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment required. PAYMENT-REQUIRED holds the base64 x402 challenge.","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"}}}}},"x-x402":{"scheme":"exact","price":"$0.01","currency":"USDC","amount":"10000","decimals":6,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0x0395c1bed0b83ad6f0329b4132191934733e637c","maxTimeoutSeconds":60,"flow":"Call without payment, receive 402 with a PAYMENT-REQUIRED header, sign the EIP-3009 USDC authorization, retry with PAYMENT-SIGNATURE. Failed requests are never charged."},"x-payment-info":{"price":{"currency":"USD","mode":"fixed","amount":"0.01"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x0395c1bed0b83ad6f0329b4132191934733e637c","maxTimeoutSeconds":60}}]},"x-intents":["trends","analytics"]}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}