> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API changelog

> Changes to the Eco API: the v1 reference on api.eco.com, the 0.9.0 wire format, the API key policy, quote signatures, Circle Gateway endpoint paths, and the legacy quotes.eco.com service, newest first.

<Update label="2026-09-16" description="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](/api-reference/v1/submit-permit3), [Permit2](/api-reference/v1/submit-permit2) and [ERC-3009](/api-reference/v1/submit-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](/api-reference/introduction).
</Update>

<Update label="2026-09-15" description="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.
</Update>

<Update label="2026-09-14" description="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](/api-reference/errors).
</Update>

<Update label="2026-09-14" description="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](/api-reference/quote-verification).
</Update>

<Update label="2026-07-28" description="Open quoting service">
  The keyless exact-input quote on `quotes.eco.com` is documented as the [Open quoting service](/api-reference/public-quote), a separate legacy service with its own request and response format.
</Update>

<Update label="2026-06-10" description="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](/programmable-addresses/funding-methods).
</Update>
