Chains API

Chain load: transactions, fees, blocks and contracts

How busy a chain is: 24h transactions and fees, block time, utilisation, all-time blocks, addresses, transactions and contracts. On SOL only all-time blocks and transactions. Not volume.

GET/api/external/chain-analysis/chain-activity/{chain}

What it returns

The chain's own load, from its own counters (RHC: its block explorer; SOL: the chain itself) — no token, wallet or pool in the question. RHC and SOL; every other chain returns 400. On SOL only totals.blocks (blocks produced; skipped slots add none, so this trails the slot number) and totals.transactions (vote transactions included) are published — every other field is null there, because no source counts them for SOL. Counts EVERY transaction of any kind, not only trades: for traded volume and trade counts use chain-stats. totals are all-time; last24h is a rolling 24-hour window, not a calendar day. Fees are in wei of the chain's native coin, as decimal strings. On RHC the figures come from three independent parts (all-time totals with block time and utilisation; the 24-hour transactions and fees; the contract counts): when one part cannot be read its fields are null and the others still answer, so a null here means "not available right now", never zero. When a part is served from its backup, its figures can trail the chain by about an hour, and utilisation is then null. More contracts can be verified in a day than are deployed: verification of older contracts counts too.

Chains

  • Solana SOL
  • Robinhood Chain RHC

Request

Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.

curl -H "x-dex-data-key: $DEXDATA_API_KEY" \
  "https://api.dexdata.io/api/external/chain-analysis/chain-activity/SOL"
Parameters
ParameterDescription
chain

path · string · required

RHC and SOL; every other chain returns 400, because no wired source publishes these chain-wide counters for it. On SOL only the all-time block and transaction totals are published.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Chain load: transactions, fees, blocks and contracts
FieldTypeDescription
totalsobjectAll-time counts.
totals.blocksinteger | nullBlocks produced since genesis.
totals.addressesinteger | nullAddresses that have ever taken part in a transaction.
totals.transactionsinteger | nullTransactions ever included, of every kind.
totals.contractsinteger | nullContracts ever deployed.
totals.verifiedContractsinteger | nullContracts whose source code is verified.
last24hobjectThe trailing 24 hours, a rolling window.
last24h.transactionsinteger | nullTransactions included in the last 24 hours, of every kind.
last24h.feesWeistring | nullFees those transactions paid, in wei of the native coin, as a decimal string.
last24h.averageFeeWeistring | nullThe mean fee per transaction over the same window, in wei, truncated to a whole wei.
last24h.newContractsinteger | nullContracts deployed in the last 24 hours.
last24h.newVerifiedContractsinteger | nullContracts verified in the last 24 hours — older contracts included, so this can exceed newContracts.
averageBlockTimeMsnumber | nullMean time between recent blocks, in milliseconds.
networkUtilizationPctnumber | nullGas used by recent blocks as a percentage (0–100) of their gas limit. On RHC the block gas limit is set far above any real load, so this reads near zero by construction and is not a measure of congestion.

Start building with DexData today

Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.

Get a free API key