Meta aggregator

Quote on any chain: Chord first, a fallback only when it fails

One call that ends in a route you can sign or an honest "no route anywhere". Without taker it is a price; with taker it also returns the unsigned transaction, the approval it needs and a simulation.

Policy

  1. Chord's own router is always asked first, with its normal budget.
  2. A fallback is asked only when Chord fails: the engine timed out, errored or is down; there is no route; Chord refuses the route itself (value guard, taxed token, stale bonding-curve route); the chain's router is not live; or the built transaction fails simulation. A better price elsewhere is not a reason. A user error (unknown token, bad amount) never falls back.
  3. Fallbacks are tried in the chain's order (GET /meta/providers); the first answer that passes every check wins. Per provider 4 s, whole request 9 s, a circuit breaker per provider and chain.

Safety, on every fallback answer

  • The transaction target and the approval spender must be on Chord's allowlist for that provider and chain, and deployed there.
  • minAmountOut comes from your slippage; a provider minimum below it is refused.
  • The value guard of /quote applies: an output worth 30 % less than the input at Chord's prices is refused. An unpriced token gets a security scan (safety); a honeypot is refused.
  • With taker, the transaction is simulated as that wallet and must deliver at least minAmountOut. A fallback transaction that cannot be simulated is never returned.
  • Without taker, a fallback price is shown only after the provider BUILT the route and it was simulated for a placeholder wallet (PRICE_CHECKED); a provider that prices a size but will not build it is skipped. The placeholder's transaction is never returned.
  • An input the simulation cannot supply (a balance that is not a plain storage mapping, e.g. rebasing shares) while the taker does not hold it: HTTP 422 INPUT_NOT_SIMULATABLE — hold the input and ask again.

Notes

  • provider: null with HTTP 200 means every provider looked and none has a route. HTTP 503 UNAVAILABLE means nobody could answer right now: retry, do not conclude the pair is untradeable.
  • The answer is good until expiresAt (30 s). Quote again before signing if you waited.
get/meta/quote

Request

  • Base URL: https://api.getchord.xyz/v1
  • URL: https://api.getchord.xyz/v1/meta/quote
  • Auth: none declared

Query parameters

chainstring required

Chain id or key: 143 monad · 4663 robinhood · 5042 arc · 43114 avalanche · 8453 base · 56 bnb · 42161 arbitrum · 1 ethereum.

tokenInstring required

EVM address, hex, case-insensitive.

Token you sell. The zero address = the chain's native asset (on Arc it aliases to the USDC predeploy). inputMint is accepted too.

tokenOutstring required

EVM address, hex, case-insensitive.

Token you buy. outputMint is accepted too.

amountstring required

Amount in the token's smallest unit, as a decimal string. Never a float.

Input amount, smallest unit.

slippageBpsinteger

Sets minAmountOut.

takerstring

EVM address, hex, case-insensitive.

The wallet that signs and receives. With it the answer carries tx, approval and simulation. userPublicKey is accepted too.

Response

The quote. Read provider and fallbackReason before anything else.

chaininteger

Chain id.

tokenInstring

EVM address, hex, case-insensitive.

tokenOutstring

EVM address, hex, case-insensitive.

amountInstring

Amount in the token's smallest unit, as a decimal string. Never a float.

takerstring nullable

The wallet the transaction was built and simulated for; null on a price-only quote.

slippageBpsinteger

The slippage minAmountOut reflects.

providerstring nullable

Who answered: chord (Chord's own router), kyberswap, monorail, lifi, relay. null = no provider has a route.

fallbackReasonstring nullable

null when Chord answered. Otherwise why it did not: no_route, insufficient_liquidity, engine_error, engine_timeout, engine_down, value_guard, taxed_token, route_stale, chain_not_live, build_failed, simulation_failed.

amountOutstring

What the taker receives after every fee, smallest unit of tokenOut. (/quote's outputAmount is before Chord's fee; this is after.)

minAmountOutstring

The minimum the transaction enforces, from the slippage you asked for.

priceImpactPctstring nullable

Percent, when the provider states one.

valueLossPctnumber nullable

Output value against input value at Chord's own prices, percent (negative = worth more). null when Chord has no reliable price for a side: see safety and warnings.

feeBpsinteger

Chord path: Chord's protocol fee on the output. Fallback: the integrator fee Chord added (0 today); the provider's own fees are already inside amountOut.

feeRecipientstring nullable

EVM address, hex, case-insensitive.

warningsstring[]

INSUFFICIENT_BALANCE, UNPRICED, OUTPUT_WRAPPED, NO_ROUTE, and on a price-only fallback PRICE_CHECKED (built and simulated for a placeholder wallet) or UNVERIFIED_PRICE (built, not simulatable) — each followed by a sentence.

quoteIdstring

Pass to POST /meta/swap within 2 minutes.

expiresAtinteger

Unix time, seconds, UTC.

Changes

No recorded changes to this operation across all 1 revision of this API.