Chains, addresses and amounts
Arc (chain 5042)
Section titled “Arc (chain 5042)”Arc is Circle’s stablecoin-native chain: the gas token is USDC. It has two faces, and the API takes one of them.
| Face | Address | Decimals | Where you see it |
|---|---|---|---|
| Native USDC | — (balance via eth_getBalance) |
18 | wallet balances, value on transactions, Uniswap V4 currency0 = address(0) pools |
| USDC predeploy | 0x3600000000000000000000000000000000000000 |
6 | the ERC-20 interface of the same balance; every V2 / V3 pool; the API |
They are one balance: balanceOf(predeploy) == nativeBalance / 1e12. There is no wrapped-native contract and nothing to wrap. The API therefore treats the zero address as an alias for the predeploy on Arc: send either, get the same route, and the transaction always has value: "0" because the router pulls the predeploy by transferFrom. Approve the router on the predeploy like any ERC-20.
Other anchors: EURC 0xbef5f6d51cb62b58e6a8f77868681825c6fe21c1 (6 decimals, tagged fx) and VIRTUAL 0x8c4252c87081c88c6ad57d6dd97e1cafebf842b7 (the quote asset of the Virtuals launcher pools, priced from its own USDC prints). Protocol fee on USDC and EURC is 0 bps.
Robinhood Chain (chain 4663)
Section titled “Robinhood Chain (chain 4663)”An ordinary EVM chain: native ETH is the zero address, WETH 0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73 wraps it, and the stable anchor is USDG 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168 (6 decimals). Tokenized stocks are 18-decimal tokens tagged stock (NVDA 0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC, AAPL 0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9, …). WETH, USDG and every stock are 0 bps.
Monad, Avalanche, Base, BNB Chain, Arbitrum and Ethereum (143, 43114, 8453, 56, 42161, 1)
Section titled “Monad, Avalanche, Base, BNB Chain, Arbitrum and Ethereum (143, 43114, 8453, 56, 42161, 1)”Ordinary EVM chains: the zero address is the native coin (MON, AVAX, ETH or BNB), sent as value; WMON, WAVAX, WETH and WBNB wrap it, and the router wraps and unwraps for you. The dollar anchors are USDC (and USDT where the chain has it), 6 decimals on Monad, Avalanche, Base, Arbitrum and Ethereum, 18 decimals on BNB Chain. Ethereum’s USDT refuses a new approval while an old one is left: approve 0 first (approval.resetFirst on /v1/meta). Anchors and contracts per chain: Networks.
Amounts
Section titled “Amounts”Every amount the API takes or returns for a token is a decimal string in the token’s smallest unit. Never a float, never scientific notation.
5 USDC on Arc → "5000000" (6 decimals)0.01 ETH on 4663 → "10000000000000000" (18 decimals)0.005 cirBTC → "500000" (8 decimals)Read decimals from the token list or the token row. Chord never defaults to 18, and neither should you.
const { tokens } = await fetch("https://api.getchord.xyz/v1/tokens?chain=5042").then((r) => r.json());const usdc = tokens.find((t) => t.symbol === "USDC");const amount = (5n * 10n ** BigInt(usdc.decimals)).toString(); // "5000000"USD figures in read endpoints (volume24h, priceUsd, usd) are plain numbers.
Addresses
Section titled “Addresses”Hex, case-insensitive on input; the API returns Arc addresses lower-cased and Robinhood Chain list addresses checksummed. Compare lower-cased. Pool identities are 20-byte addresses for V2 / V3 pools and 32-byte pool ids for Uniswap V4 — any pool parameter accepts both, and any pool field may hold either. Treat a pool as an opaque string; only an explorer link needs to know which it is.
The chain parameter
Section titled “The chain parameter”| Endpoint family | chain |
|---|---|
/quote, /swap, /swap/calldata, /swap/simulate |
5042, 4663, 143, 43114, 8453, 56, 42161 or 1. The default is 143: always pass it. |
/tokens |
5042 or 4663; omitted, the Monad list. |
/tokens/market |
4663 or 5042. Omitted, it answers for Monad. |
/tokens/board |
143. |
/tokens/search |
4663, 5042, 43114, 8453, 56, 42161 or 1. Omitted (or 143), it is Monad off-list discovery. Arc also has /arc/tokens/search with full board rows. |
/candles |
5042, 4663, 143, 43114, 8453, 56, 42161 or 1. The default is 143: always pass it. |
/chains/{chain}/* |
in the path: avalanche or 43114, base or 8453, bnb or 56, arbitrum or 42161, ethereum or 1 (and solana). |
/tokens/chart, /tokens/trades, /tokens/stats, /logo |
none (address-keyed) — /logo takes the chain in the path. |
/smart-money/top, /portfolio/*, /lp/* |
5042, 4663 or 143. |
/arc/* |
none; always 5042. |
/rh/* |
none; always 4663. |
/points/*, /ask/* |
none; always 5042. |