Skip to content

Troubleshooting

The message names the parameter. The usual ones: amount sent as a float or with decimals (it must be an integer string in the smallest unit); inputMint equal to outputMint; a chain id the API does not serve.

You sent a slippageBps that differs from the quote’s. The signed minimum is the quote’s otherAmountThreshold; the field on /swap is a consistency check. Omit it, or quote again at the slippage you want.

The quote body was edited between /quote and /swap (re-serialised numbers, dropped fields). Pass the parsed object back untouched.

The transaction reverts with insufficient output

Section titled “The transaction reverts with insufficient output”

The price moved past otherAmountThreshold between quote and execution. Quote again. Do not resubmit an old transaction — and if the route is a fresh launchpad curve, expect the number to move fast.

The transaction reverts before the wallet opens

Section titled “The transaction reverts before the wallet opens”

Run POST /v1/swap/simulate. revert names it: Router is not approved… means approve first (an approve that is not mined yet also triggers this — proceed); ERC20InsufficientBalance means the wallet does not hold inputAmount; a paused venue is muted within seconds, quote again.

The public gateway has been seen dropping one send in six. Broadcast through a dedicated RPC and, on a timeout, resend the same signed transaction (same nonce) rather than rebuilding.

404 UNKNOWN_TOKEN on charts, trades or stats

Section titled “404 UNKNOWN_TOKEN on charts, trades or stats”

The address is neither on a curated list nor a side of an indexed pool. For Arc, check GET /v1/arc/tokens/search?q=0x… — if it returns a row with pools counts, the token is indexed and the chart will fill as trades arrive; if not, the token has no pool yet.

The holder ledger just pinned the token. The backfill walks Transfer logs back to the creation block; retry in a few minutes and read complete.

The board is not published for that chain on this deployment, or source=onchain was omitted on 5042 / 4663.

Logos, token reads and the default bucket are separate. A list page that paints hundreds of logos uses the logo bucket (3,000 a minute); table reads use the data bucket (300); /arc/* and /lp/* use the default (60). If you serve many users from one server IP, use a key so the limit is yours.

Chord counts every swap with no dust floor, attributes wallets through routers and executors, flags wash volume instead of summing it, and prices a token on its dominant venue. Read Data freshness and honesty before comparing.

WebSocket disconnects after ~100 s behind a proxy

Section titled “WebSocket disconnects after ~100 s behind a proxy”

The server pings every 25 s; make sure your proxy passes WebSocket frames and does not idle-close at a lower interval. Reconnect with jittered backoff and re-subscribe — the server keeps no state for a closed socket.

GET /v1/health for the service, /v1/arc/status · /v1/rh/status · /v1/lp/status for the lanes. Then the Chord developer page has the contact.