{"openapi":"3.1.0","info":{"title":"CINT Router","version":"1.0.0","description":"A free, non-custodial fixed-route gateway from Robinhood Chain USDG to Base CINT. The server never signs transactions and never broadcasts transactions.","x-guidance":"Call config, then quote, then build only after explicit buyer acknowledgement. The buyer must independently verify every address, amount, approval, fee, and calldata in its own wallet. The server has no custody or private-key access and never signs or broadcasts."},"servers":[{"url":"https://orionkr.xyz"}],"paths":{"/v1/cint-router/config":{"get":{"operationId":"getCintRouterConfig","summary":"Read the fixed route and current safe fee mode","description":"Returns fixed chains, tokens, providers, limits, quote TTL, free-operation pricing, effective fee basis points, and non-custodial guarantees without exposing server credentials.","security":[],"x-cost":"free","x-agent-instructions":"Inspect this free configuration before requesting a quote; stop if any chain, token, provider, limit, fee status, or verified transaction target differs from your policy.","responses":{"200":{"description":"Public, secret-free CINT Router configuration."},"429":{"description":"Too many requests."}}}},"/v1/cint-router/openapi.json":{"get":{"operationId":"getCintRouterOpenApi","summary":"Read the agent-facing CINT Router contract","description":"Returns this OpenAPI document for the fixed free quote, build, and status workflow.","security":[],"x-cost":"free","x-agent-instructions":"Use this document as the authoritative input allowlist and preserve the quote, build, and status sequence.","responses":{"200":{"description":"CINT Router OpenAPI 3.1 document."},"429":{"description":"Too many requests."}}}},"/v1/cint-router/quote":{"post":{"operationId":"quoteCintRouter","summary":"Quote the fixed RHC USDG to Base CINT route","description":"Returns a free 45-second estimate for the fixed Across and KyberSwap route. A quote is informational and contains no transaction calldata; it does not move funds.","security":[],"x-cost":"free","x-agent-instructions":"Use a buyer-owned wallet, submit a string USDG amount, verify the returned route and fee breakdown, and do not treat an estimate as a completed purchase.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["wallet_address","amount_usdg"],"properties":{"wallet_address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Buyer-owned 20-byte EVM address used as both signer and destination recipient."},"amount_usdg":{"type":"string","pattern":"^(?:[1-9][0-9]{0,2}(?:\\.[0-9]{1,2})?|1000(?:\\.0{1,2})?)$","example":"10.00","description":"RHC USDG amount from 1.00 through 1000.00, with at most two decimal places."},"max_slippage_bps":{"type":"integer","minimum":100,"maximum":500,"default":300,"description":"Maximum total route slippage in basis points."}}},"example":{"wallet_address":"0x1234567890abcdef1234567890abcdef12345678","amount_usdg":"10.00","max_slippage_bps":300}}}},"responses":{"200":{"description":"Free fixed-route estimate with an opaque quote ID and 45-second expiry."},"404":{"description":"The referenced quote or route was not found."},"409":{"description":"The quote or route state does not permit this operation."},"422":{"description":"The request body failed the strict documented input contract."},"429":{"description":"Too many requests."},"503":{"description":"The constrained route provider is temporarily unavailable."}}}},"/v1/cint-router/build":{"post":{"operationId":"buildCintRouterTransaction","summary":"Build buyer-verifiable unsigned route transactions","description":"Requotes and validates the fixed route, then returns exact unsigned approval and route transaction requests. The server never signs or broadcasts them; the buyer verifies and signs in its own wallet.","security":[],"x-cost":"free","x-agent-instructions":"Proceed only with the exact acknowledgement, the same wallet used for the quote, and a still-valid quote ID. Independently verify exact approval amount, LiFiDiamond target, calldata, fees, gas, and minimum CINT output before signing.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["quote_id","wallet_address","acknowledgement"],"properties":{"quote_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{16,128}$","minLength":16,"maxLength":128,"description":"Opaque URL-safe quote identifier returned by the quote operation."},"wallet_address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Must exactly match the wallet used for the quote."},"acknowledgement":{"type":"string","const":"I will verify and sign this exact transaction in my own wallet.","description":"Exact buyer acknowledgement required before an unsigned transaction is built."}}},"example":{"quote_id":"quote_Abcdef123456","wallet_address":"0x1234567890abcdef1234567890abcdef12345678","acknowledgement":"I will verify and sign this exact transaction in my own wallet."}}}},"responses":{"200":{"description":"Validated unsigned approval and route transaction requests plus an opaque route ID."},"404":{"description":"The referenced quote or route was not found."},"409":{"description":"The quote or route state does not permit this operation."},"422":{"description":"The request body failed the strict documented input contract."},"429":{"description":"Too many requests."},"503":{"description":"The constrained route provider is temporarily unavailable."}}}},"/v1/cint-router/status":{"post":{"operationId":"getCintRouterStatus","summary":"Check a buyer-broadcast crosschain route","description":"Checks the constrained provider status using the route ID and buyer-broadcast Robinhood Chain source transaction hash. Completion is reported only from verified route evidence; this operation never signs or broadcasts.","security":[],"x-cost":"free","x-agent-instructions":"Submit only the route ID returned by build and the matching source transaction hash. Treat pending, partial, refunded, and failed states as not completed.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["route_id","source_tx_hash"],"properties":{"route_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{16,128}$","minLength":16,"maxLength":128,"description":"Opaque URL-safe route identifier returned by the build operation."},"source_tx_hash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"The buyer-broadcast 32-byte Robinhood Chain source transaction hash."}}},"example":{"route_id":"route_Abcdef123456","source_tx_hash":"0xabababababababababababababababababababababababababababababababab"}}}},"responses":{"200":{"description":"Current normalized route status and verified completion evidence when available."},"404":{"description":"The referenced quote or route was not found."},"409":{"description":"The quote or route state does not permit this operation."},"422":{"description":"The request body failed the strict documented input contract."},"429":{"description":"Too many requests."},"503":{"description":"The constrained route provider is temporarily unavailable."}}}}}}