Chain totals
const url = 'https://api.getchord.xyz/v1/rh/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/rh/overviewLast 24 hours, venue share, 24 hourly buckets and up to 30 daily rows. Chain 4663 only; takes no chain parameter. Served from Chord’s rollup tables, never from a raw scan. 503 NOT_READY until the rollup has run.
Responses
Section titled “ Responses ”object
object
object
object
object
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": 4663, "last24h": { "volUsd": 550299744.1561619, "swaps": 1079429, "tokens": 1248, "sinceHour": 1789808400 }, "venues24h": [ { "dex": "uniswap_v3", "volUsd": 398446666.0763337, "trades": 793745, "tokens": 976, "sharePct": 72.40538821025947 }, { "dex": "nadfun_dex", "volUsd": 86870804.38588408, "trades": 94710, "tokens": 205, "sharePct": 15.786088456045553 } ], "hourly24": [ { "hour": 1789808400, "volUsd": 20860178.787550393, "swaps": 29122 }, { "hour": 1789812000, "volUsd": 16607559.066086678, "swaps": 28538 } ], "daily": [ { "day": 1787356800, "swaps": 706077, "volUsd": 248035051.5861872, "tokens": 1056, "wallets": 32922, "venues": 8 }, { "day": 1787443200, "swaps": 760930, "volUsd": 261936195.3020307, "tokens": 1065, "wallets": 26961, "venues": 9 } ], "coverage": { "recentAt": 1789891427, "stale": false, "floorHour": 1781197200, "genesisHour": 1785974400, "backfillComplete": true }, "updatedAt": 1789891794537}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"}