Skip to main content

EVM Cubes: Trades, Transfers, Balances, Calls and Events

Every EVM chain Bitquery indexes is queried through one root, EVM(network: ...), with the same cubes underneath: DEXTrades, DEXTradeByTokens, DEXPools, Transfers, Balances, Holders, BalanceUpdates, Transactions, Calls, Events, Blocks and MinerRewards. A query written for Ethereum runs on BNB Chain, Base, Arbitrum, Optimism, Polygon or Robinhood Chain by changing the network name. Each cube takes where, orderBy and limit, supports count, sum, uniq and the other aggregates, and streams as a subscription. This page is the map; the EVM builder terms page lists every field.

The cubes

CubeOne row isReach for it when
DEXTradesOne swap with buy and sell sides, DEX, pool and traderYou need individual trades or a trade feed
DEXTradeByTokensOne token side of a swapYou want per-token volume, OHLC, buyers, sellers or top pairs
DEXPoolsA pool event: creation, liquidity change, reservesPool discovery, TVL, slippage
TransfersOne token or native transferWallet activity, whale alerts, holder movements
Balances and HoldersCurrent balance of an address, or holders of a tokenPortfolios, holder rankings, distribution
BalanceUpdatesOne balance change with its typeBalance history and reasons for a change
TransactionsOne transaction with receipt, gas and statusReceipts, fees, failure rates
CallsOne call or internal call with decoded argumentsMethod traces, contract deployments, reverts
EventsOne decoded logAny contract event, an eth_getLogs replacement
Blocks and MinerRewardsOne block, one rewardBlock metadata and validator or miner rewards

Networks

eth, bsc, base, arbitrum, optimism, matic and robinhood work in EVM(network: ...). The chain hubs under Blockchain carry worked examples per chain; the schema is the same.

Datasets and depth

Add dataset: archive or dataset: combined for history; without it a cube returns its realtime window only, which is hours to a few days depending on the cube. DEXPools is realtime-only on every chain: the archive and combined datasets do not exist for it. Transactions keeps full history on archive. The per-cube table is on data coverage and retention.

Example: the busiest tokens on Ethereum in the last hour

DEXTradeByTokens with a relative time filter, sorted by an aggregate. Run it in the Bitquery IDE on a free account; change eth to another network and it still runs.

{
EVM(network: eth) {
DEXTradeByTokens(
where: { Block: { Time: { since_relative: { hours_ago: 1 } } } }
orderBy: { descendingByField: "trades" }
limit: { count: 5 }
) {
Trade {
Currency {
Symbol
SmartContract
}
}
trades: count
volume_usd: sum(of: Trade_Side_AmountInUSD)
}
}
}

Pages in this section

PageRead it for
EVM builder termsEvery argument and field across the EVM cubes
DEX Trades cubeSwap-level rows
DEXTradeByTokens cubePer-token aggregates and OHLC
DEXTrades vs DEXTradeByTokens vs TradesWhich trade cube to use
DEXPools cubePools, reserves, liquidity events
Transaction cubeTransactions and receipts
Balances and Holders cubesCurrent balances and holder rankings
Balance Updates cubeBalance history
Transfers cubeToken and native transfers
EVM token holders schemaHolder field reference

Frequently Asked Questions

Which EVM chains share the same cubes?

Ethereum, BNB Chain, Base, Arbitrum, Optimism, Polygon and Robinhood Chain. Change the network argument in EVM(network: ...) and the same query runs on another chain.

How do I get decoded contract events on an EVM chain?

Use the Events cube with the contract address and the event name or topic0 in the filter. Arguments come back decoded by name, so it replaces eth_getLogs plus your own ABI decoding.

Which cube returns current token balances?

Balances for what an address holds now and Holders for who holds a token. BalanceUpdates is the per-change history behind them.

How far back do EVM cubes go?

It depends on the cube and the dataset. Realtime holds hours to a few days; archive and combined reach the chain's indexing start for most cubes, while DEXPools is realtime-only. The retention page lists each cube.

Can I get internal transactions on EVM chains?

Yes. The Calls cube returns internal calls with depth, decoded arguments and success flags, alongside top-level method calls and contract deployments.

Build with Bitquery

Ready to run this in production?

Get an API key and run these queries in minutes, or talk to us about plans and enterprise delivery.