{"openapi":"3.1.0","info":{"title":"Triple Arbiter x402 Facilitator","description":"Opt-in x402 settlement facilitator. Transparent 0.5% fee. See /tos for terms. See /fees for current schedule.","version":"0.1.0"},"paths":{"/":{"get":{"summary":"Root","description":"Landing page with API docs + example curl commands.","operationId":"root__get","responses":{"200":{"description":"Successful Response"}}}},"/.well-known/x402-facilitator.json":{"get":{"summary":"Wellknown X402 Wellknown","description":"x402 facilitator manifest at standard /.well-known/ path.","operationId":"wellknown_x402_wellknown__well_known_x402_facilitator_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/x402-facilitator.json":{"get":{"summary":"Wellknown X402 Root","description":"Mirror manifest at root path (fallback if /.well-known/ is intercepted).","operationId":"wellknown_x402_root_x402_facilitator_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent-card.json":{"get":{"summary":"Wellknown Agent Card","description":"A2A AgentCard v1 — Google-led agent-to-agent discovery schema.","operationId":"wellknown_agent_card__well_known_agent_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/attestation-issuer.json":{"get":{"summary":"Wellknown Attestation Issuer","description":"Issuer rotation notice. Agent-native equivalent of a key rotation tweet.\n\nAny agent that previously cached an attestation signed by a deprecated\nissuer MUST refuse to accept it (unless issued before `deprecated_at`).\nEAS itself has no key-rotation mechanism, so this file is the source of\ntruth for our active signing key.","operationId":"wellknown_attestation_issuer__well_known_attestation_issuer_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp/server-card.json":{"get":{"summary":"Wellknown Mcp Server Card","description":"Smithery-compatible MCP server-card. Same payload as /.well-known/mcp.json\nbut at the path Smithery's auto-scanner probes first.","operationId":"wellknown_mcp_server_card__well_known_mcp_server_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp.json":{"get":{"summary":"Wellknown Mcp","description":"MCP-compatible server manifest. Lets MCP-aware agents discover us as a tool provider.","operationId":"wellknown_mcp__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"summary":"Llms Txt","description":"Plain-text agent-readable site description. Emerging standard for LLM crawlers.","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/discovery/resources":{"get":{"summary":"Discovery Resources","description":"Bazaar-compatible discovery metadata.\n\nLists the resources clients can pay to access + their x402 payment terms.\nNot a registration endpoint; it publishes our catalog for any crawler\nthat wants to index x402-enabled resources.","operationId":"discovery_resources_discovery_resources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/fees":{"get":{"summary":"Fees","operationId":"fees_fees_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tos":{"get":{"summary":"Tos","operationId":"tos_tos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/verify":{"post":{"summary":"Verify","description":"Validate EIP-3009 signature + balance + policy. Issues verify_token.","operationId":"verify_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/settle":{"post":{"summary":"Settle","description":"Broadcast settlement on-chain. Consumes verify_token from /verify.","operationId":"settle_settle_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mayan/quote":{"post":{"summary":"Mayan Quote","description":"Optional Mayan Finance cross-chain USDC route.\n\nUse when payer's USDC is on Ethereum/Arbitrum/Optimism/Polygon/BSC/Avalanche\nand destination is Base (our home settlement chain). Mayan Swift handles the\nbridge + delivery in a single atomic step.\n\nOur referrer + referrerBps=25 are injected automatically — 0.25% fee on the\nrouted amount flows to our EVM collector address.\n\nGuard: endpoint returns 503 if ENABLE_MAYAN_CROSSCHAIN env is not set to 'true'.","operationId":"mayan_quote_mayan_quote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MayanQuoteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MayanQuoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mayan/info":{"get":{"summary":"Mayan Info","description":"Static info about Mayan cross-chain route config (no API call).","operationId":"mayan_info_mayan_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/swap":{"get":{"summary":"Swap Widget","description":"0x Swap Widget page. Any swap made here routes {SWAP_FEE_BPS} bps to\nour collector. Pre-configured with swapFeeRecipient + swapFeeBps.\n\nOPERATOR ACTION: set ZEROX_API_KEY env var (free key from 0x.org/products/swap)\nbefore exposing this page to users.","operationId":"swap_widget_swap_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/zerox/quote":{"get":{"summary":"Zerox Quote","description":"Proxy quote with {SWAP_FEE_BPS}bps fee auto-attached to {SWAP_FEE_RECIPIENT}.\nPass either sellAmount or buyAmount (in base units). taker defaults to\nthe collector so any simulation runs cleanly.","operationId":"zerox_quote_zerox_quote_get","parameters":[{"name":"chainId","in":"query","required":false,"schema":{"type":"integer","default":8453,"title":"Chainid"}},{"name":"sellToken","in":"query","required":false,"schema":{"type":"string","default":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","title":"Selltoken"}},{"name":"buyToken","in":"query","required":false,"schema":{"type":"string","default":"0x4200000000000000000000000000000000000006","title":"Buytoken"}},{"name":"sellAmount","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sellamount"}},{"name":"buyAmount","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyamount"}},{"name":"taker","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Taker"}},{"name":"slippageBps","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Slippagebps"}},{"name":"priceOnly","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Priceonly"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/relay/quote":{"get":{"summary":"Relay Quote","description":"Proxy Relay cross-chain / cross-currency quote with appFees 30bps baked in.\nPass `amount` in base units. Defaults to USDC Base → WETH Base.","operationId":"relay_quote_relay_quote_get","parameters":[{"name":"originChainId","in":"query","required":false,"schema":{"type":"integer","default":8453,"title":"Originchainid"}},{"name":"destinationChainId","in":"query","required":false,"schema":{"type":"integer","default":8453,"title":"Destinationchainid"}},{"name":"originCurrency","in":"query","required":false,"schema":{"type":"string","default":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","title":"Origincurrency"}},{"name":"destinationCurrency","in":"query","required":false,"schema":{"type":"string","default":"0x4200000000000000000000000000000000000006","title":"Destinationcurrency"}},{"name":"amount","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Amount"}},{"name":"user","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"}},{"name":"recipient","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient"}},{"name":"tradeType","in":"query","required":false,"schema":{"type":"string","default":"EXACT_INPUT","title":"Tradetype"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/kyber/quote":{"get":{"summary":"Kyber Quote","description":"Proxy KyberSwap aggregator route with 30bps extraFee to collector.\nReturns encoded swap calldata the caller can submit directly.","operationId":"kyber_quote_kyber_quote_get","parameters":[{"name":"chainId","in":"query","required":false,"schema":{"type":"integer","default":8453,"title":"Chainid"}},{"name":"tokenIn","in":"query","required":false,"schema":{"type":"string","default":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","title":"Tokenin"}},{"name":"tokenOut","in":"query","required":false,"schema":{"type":"string","default":"0x4200000000000000000000000000000000000006","title":"Tokenout"}},{"name":"amountIn","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Amountin"}},{"name":"saveGas","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Savegas"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MayanQuoteRequest":{"properties":{"fromChainId":{"type":"integer","title":"Fromchainid"},"fromToken":{"type":"string","title":"Fromtoken"},"toToken":{"type":"string","title":"Totoken"},"amountIn":{"type":"string","title":"Amountin"},"slippageBps":{"type":"integer","title":"Slippagebps","default":50}},"type":"object","required":["fromChainId","fromToken","toToken","amountIn"],"title":"MayanQuoteRequest"},"MayanQuoteResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"from_chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Chain"},"to_chain":{"type":"string","title":"To Chain","default":"base"},"expected_output":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Output"},"referrer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer"},"referrer_bps":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referrer Bps"},"swift_order_params":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Swift Order Params"},"sample_curl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sample Curl"}},"type":"object","required":["ok"],"title":"MayanQuoteResponse"},"PaymentAuthorization":{"properties":{"from":{"type":"string","title":"From"},"to":{"type":"string","title":"To"},"value":{"type":"string","title":"Value"},"validAfter":{"type":"integer","title":"Validafter"},"validBefore":{"type":"integer","title":"Validbefore"},"nonce":{"type":"string","title":"Nonce"},"signature":{"type":"string","title":"Signature"}},"type":"object","required":["from","to","value","validAfter","validBefore","nonce","signature"],"title":"PaymentAuthorization","description":"EIP-3009 transferWithAuthorization payload."},"SettleRequest":{"properties":{"authorization":{"$ref":"#/components/schemas/PaymentAuthorization"},"verify_token":{"type":"string","title":"Verify Token"}},"type":"object","required":["authorization","verify_token"],"title":"SettleRequest"},"SettleResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"tx_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tx Hash"},"block_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Block Number"},"fee_recorded_usd":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fee Recorded Usd"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["ok"],"title":"SettleResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerifyRequest":{"properties":{"authorization":{"$ref":"#/components/schemas/PaymentAuthorization"},"resource":{"type":"string","title":"Resource"},"amount_usd":{"type":"string","title":"Amount Usd"},"client_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Ref"}},"type":"object","required":["authorization","resource","amount_usd"],"title":"VerifyRequest"},"VerifyResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"fee_bps":{"type":"integer","title":"Fee Bps"},"fee_usd":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fee Usd"},"net_to_payee_usd":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Net To Payee Usd"},"expiry_unix":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expiry Unix"},"verify_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verify Token"}},"type":"object","required":["ok","fee_bps"],"title":"VerifyResponse"}}}}