Chain totals
const url = 'https://api.getchord.xyz/v1/arc/overview';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.getchord.xyz/v1/arc/overviewLast 24 hours (volume, swaps, tokens), venue share, 24 hourly buckets and up to 30 daily rows. The numbers on Chord’s landing page come from this call.
Served from Chord’s rollup and index tables (every swap on Arc summed by hour, token and venue), never from a raw scan — so calls are cheap and every answer carries its coverage. No key needed. 503 NOT_READY until the rollup has run on the deployment.
Responses
Section titled “ Responses ”object
object
Biggest first.
object
Oldest first.
object
Up to 30 days.
object
Attributed wallets only.
How fresh and how deep the rolled-up data is. Trust these flags, not the clock.
object
Unix time, seconds, UTC.
True when the most recent rolled-up hour is older than the lane’s freshness bar.
Oldest hour the rollup has reached so far.
The chain’s first indexed hour.
True once the rollup reaches genesis — before that, long windows undercount.
Unix time, milliseconds — when the server built this answer.
Example
{ "chain": 5042, "last24h": { "volUsd": 70377594.2336901, "swaps": 788926, "tokens": 6288, "sinceHour": 1789808400 }, "venues24h": [ { "dex": "uniswap_v4", "volUsd": 55014882.201828234, "trades": 683313, "tokens": 4059, "sharePct": 78.17101849084284 }, { "dex": "uniswap_v3", "volUsd": 12910961.69548591, "trades": 91957, "tokens": 2163, "sharePct": 18.345272861437724 } ], "hourly24": [ { "hour": 1789808400, "volUsd": 3234644.52212066, "swaps": 50225 }, { "hour": 1789812000, "volUsd": 2223745.3392903497, "swaps": 36071 } ], "daily": [ { "day": 1787356800, "swaps": 5712, "volUsd": 609934.6437347728, "tokens": 292, "wallets": 768, "venues": 4 }, { "day": 1787443200, "swaps": 3057, "volUsd": 241890.2647458107, "tokens": 274, "wallets": 508, "venues": 6 } ], "coverage": { "recentAt": 1789891429, "stale": false, "floorHour": 1780520400, "genesisHour": 1780520400, "backfillComplete": true }, "updatedAt": 1789891764243}The lane behind this endpoint is not ready or not enabled here (NOT_READY, CHAIN_NOT_ENABLED, NOT_ENABLED, *_UNAVAILABLE). Retry later; do not treat it as an empty answer.
Every non-2xx body.
object
Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.
For humans.
HTTP status, when included.
Example
{ "error": "INVALID_PARAMS", "message": "amount must be an integer string in the token's smallest unit"}