FAQ
Do I need a key? No, to read. Anonymous calls get 60 requests a minute per IP (300 on the token and portfolio reads). A key raises that to your plan and is required for the Ask agent API.
Is Chord custodial?
No. /swap returns an unsigned transaction; your wallet signs and broadcasts. Chord never holds funds or keys, on any plan.
Where do prices come from?
From Chord’s own index of every swap on the chain, priced at index time against the chain’s anchors. No third-party price API on the request path. priceUsd on a token row is the last trade on the token’s dominant venue.
Why does /quote return an empty route?
No venue fills that size honestly. noRouteReason says INSUFFICIENT_LIQUIDITY (try a smaller amount) or NO_POOLS (no pool against an anchor, or only on an unverified hook). The engine never fabricates a price.
Why is my Arc transaction’s value 0 when I sell “native” USDC?
Because on Arc the native unit and the USDC predeploy are one balance, and the router pulls the predeploy by transferFrom. Approve the router on 0x3600…0000 like any ERC-20. See Chains, addresses and amounts.
How fresh is the data?
Read coverage on rollup answers and /v1/arc/status, /v1/rh/status, /v1/lp/status for the lanes. Prices over WebSocket are per print. See Data freshness.
What is a 503 NOT_READY?
A lane that has not run on this deployment yet, or a token the holder ledger just started tracking. Retry later; do not show it as “no data”.
Why are some tokens missing from /v1/tokens?
/v1/tokens is the curated list. /v1/arc/tokens?includeUnlisted=1 is every token that traded in 24 hours, listed or not, with the on-chain symbol.
How are bots removed from the top-wallets board?
By cadence (hundreds of transactions a day from the first trade), nonce rate and deny lists, and behaviour (bursts, sub-minute round trips, sniping dozens of launches). botsRemoved counts each pass.
Can I stream Arc prices?
Yes — subscribe to the prices channel on /v1/ws/live with chain: 5042. One subscription covers the whole board.
Can I get the whole API in one file? openapi.json. And this documentation as text at llms.txt.
Where do fees go?
The protocol fee on the output token (5 bps by default on every chain, 0 on USDC / EURC / USDG / stocks) goes to the fee collector; a referrer passed as feeAccount earns 50 % of it on that swap. Quotes and API usage are free.