{"openapi":"3.1.0","info":{"title":"x402 Oracle","version":"0.1.0","description":"402 is the answer. The Oracle is how you ask.","x-guidance":"Free GET /api/health and /api/pricing. Paid consults: POST /api/consult/oracle_ask with JSON {question}. Unpaid probes return HTTP 402 and PAYMENT-REQUIRED (x402 v2, Base USDC). After payment, retry with PAYMENT-SIGNATURE. MCP streamable HTTP at /mcp. No private keys."},"servers":[{"url":"https://x402orcle.vercel.app","description":"Production Server (Base Mainnet)"}],"tags":[{"name":"health","description":"Liveness and seller posture checks"},{"name":"pricing","description":"Pricing menu and connection instructions"},{"name":"oracle","description":"Paid expert consultation tools"},{"name":"a2a","description":"Autonomous outcome-driven tasks"}],"components":{"securitySchemes":{"x402Payment":{"type":"apiKey","name":"PAYMENT-SIGNATURE","in":"header","description":"x402 v2 payment signature containing EIP-712 payment authorization payload."}}},"paths":{"/api/health":{"get":{"summary":"Free liveness + seller posture (payTo configured, no spend key, network, demo/live).","operationId":"oracle_health","tags":["x402","oracle","health"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"ok":true,"service":"x402 Oracle","wallet_configured":false,"pay_to_configured":true,"network":"eip155:8453"}}}}}}},"/api/pricing":{"get":{"summary":"Free menu of paid consults, A2A tasks, and connect how-to. No keys requested.","operationId":"oracle_pricing","tags":["x402","oracle","pricing"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"tools":[],"maxPriceUsd":25,"network":"eip155:8453"}}}}}}},"/api/consult/oracle_ask":{"post":{"summary":"Paid x402/MCP/A2A/Bazaar consult. Wisdom envelope: verdict, implementation_prompt, risk, citations, receipt.","operationId":"oracle_ask","tags":["x402","mcp","a2a","bazaar","oracle"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"100000"},"security":[{"x402Payment":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"verdict":"no_rank_without_settle","wisdom":"Cataloging is settlement-triggered.","implementation_prompt":"…","risk":"burning USDC on frozen catalog copy","citations":["https://docs.cdp.coinbase.com/x402/seller/get-discovered"]}}}},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"question":{"type":"string"},"audience":{"type":"string"}},"required":["question"]},"example":{"question":"Why is my Bazaar listing unranked after 402s with no settlement?","audience":"agent"}}}}},"get":{"summary":"Crawler 402 for oracle_ask","operationId":"oracle_ask_crawler_402","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"100000"},"responses":{"200":{"description":"Paid GET not used; POST after payment"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}}}},"/api/consult/oracle_diagnose_402":{"post":{"summary":"Post-mortem a 402 handshake: PAYMENT-REQUIRED shape, bazaar extension, network, asset, resource.url.","operationId":"oracle_diagnose_402","tags":["x402","402","facilitator","oracle"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.500000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"500000"},"security":[{"x402Payment":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"verdict":"missing_bazaar_extension","wisdom":"…"}}}},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"challenge_b64_or_json":{"type":"string"},"resource_url":{"type":"string"}},"required":["challenge_b64_or_json"]},"example":{"challenge_b64_or_json":"eyJ4NDAyVmVyc2lvbiI6Mn0=","resource_url":"https://example.com/paid"}}}}},"get":{"summary":"Crawler 402 for oracle_diagnose_402","operationId":"oracle_diagnose_402_crawler_402","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.500000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"500000"},"responses":{"200":{"description":"Paid GET not used; POST after payment"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}}}},"/api/consult/oracle_review_mcp":{"post":{"summary":"Review an MCP paid-tool server for createPaymentWrapper, free health tool, discovery extension, burner isolation.","operationId":"oracle_review_mcp","tags":["mcp","x402","paid-tools","oracle"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"3.000000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"3000000"},"security":[{"x402Payment":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"verdict":"needs_free_health_tool","wisdom":"…"}}}},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mcp_url":{"type":"string"},"notes":{"type":"string"}},"required":["mcp_url"]},"example":{"mcp_url":"https://example.com/mcp","notes":"streamable-http, two paid tools"}}}}},"get":{"summary":"Crawler 402 for oracle_review_mcp","operationId":"oracle_review_mcp_crawler_402","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"3.000000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"3000000"},"responses":{"200":{"description":"Paid GET not used; POST after payment"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}}}},"/api/consult/oracle_bazaar_rewrite":{"post":{"summary":"Rewrite serviceName (≤32), description (≤500), tags (≤5) for buyer-query rank. Warns on first-index freeze.","operationId":"oracle_bazaar_rewrite","tags":["bazaar","cdp","ranking","oracle"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.500000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"1500000"},"security":[{"x402Payment":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"serviceName":"x402 MCP Oracle","description":"…","tags":["x402","mcp","bazaar"]}}}},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"current_description":{"type":"string"},"buyer_phrases":{"type":"array"}},"required":["current_description"]},"example":{"current_description":"API for data","buyer_phrases":["x402 mcp oracle","paid mcp bazaar"]}}}}},"get":{"summary":"Crawler 402 for oracle_bazaar_rewrite","operationId":"oracle_bazaar_rewrite_crawler_402","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.500000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"1500000"},"responses":{"200":{"description":"Paid GET not used; POST after payment"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}}}},"/api/consult/complete_oracle_task":{"post":{"summary":"Outcome A2A task: typed diffs + operator prompt + revenue/risk for a concrete x402 shipping goal.","operationId":"complete_oracle_task","tags":["a2a","outcome","x402","oracle"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"10.000000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"10000000"},"security":[{"x402Payment":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"verdict":"ship_seed_settle","wisdom":"…"}}}},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"goal":{"type":"string"},"constraints":{"type":"string"}},"required":["goal"]},"example":{"goal":"List oracle_ask on CDP Bazaar after first mainnet settle","constraints":"seller-only host, no EVM_PRIVATE_KEY"}}}}},"get":{"summary":"Crawler 402 for complete_oracle_task","operationId":"complete_oracle_task_crawler_402","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"10.000000"},"protocols":[{"x402":{}}],"network":"eip155:8453","payTo":"0xAB745e5F576667037696e78ba7dA28E193E4423D","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","atomicAmount":"10000000"},"responses":{"200":{"description":"Paid GET not used; POST after payment"},"402":{"description":"Payment Required","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string","format":"byte"}}}}}}},"/.well-known/funding.json":{"get":{"summary":"Canonical payTo","responses":{"200":{"description":"funding"}}}}}}