v1 reference
The API reference documents
https://api.eco.com/v1: GET /v1/chains, GET /v1/tokens, POST /v1/quotes, the gasless submit endpoints for Permit3, Permit2 and ERC-3009, GET /v1/intents/status, and the five /v1/circle-gateway/* deposit-address endpoints. The OpenAPI document is generated from schemas 0.9.0 and checked against the live gateway. See API access and conventions.Wire format
Production speaks the 0.9.0 request and response shapes: the quote discriminator is
type (exact-in, exact-out, custom), the funder sits under source.funder, dappId is required, the destination carries amountOut and minAmountOut, and steps[].intents lists every intent in the route with its role. Retired field names (swapType, root funder, encodedRoute) fail with 400. POST /v1/quotes answers 422 chain-not-supported for an unsupported chain.Authentication
Every
/v1 endpoint takes an x-api-key header except the /v1/circle-gateway/* endpoints, which stay open because Circle’s relay sends no key. A missing key on a keyed endpoint answers 403; an unknown or revoked key answers 401 invalid-api-key. See Errors and retries.Quote signatures
Every quote carries an EIP-712
signature by the chain’s published quoteSigner over Quote(string id, bytes32[] intentHashes, uint64 expiresAt). See Quote verification.Open quoting service
The keyless exact-input quote on
quotes.eco.com is documented as the Open quoting service, a separate legacy service with its own request and response format.Circle Gateway deposits
Circle Gateway deposits moved to quoted per-intent vaults on
api.eco.com, with a quote deadline per address and EIP-2612 Permit added as a funding method alongside ERC-3009 and direct transfer. The public paths are now /v1/circle-gateway/deposit-addresses, /submit/erc-3009, /submit/erc-2612, /{vaultAddress} and /status. See Funding methods.