EVM stands for Ethereum Virtual Machine, the engine that runs contracts on Ethereum. Every chain in this family runs that same engine, so they all keep the same kind of records and get the same four core tables: blocks, transactions, logs and traces.
The Tables section below lists the columns once for the whole family.
Chains
| Chain | chain_id | blocks | transactions | logs | traces |
|---|
| Anime | anime | ✓ | ✓ | ✓ | ✓ |
| ApeChain | apechain | ✓ | ✓ | ✓ | ✓ |
| Arbitrum | arbitrum | ✓ | ✓ | ✓ | ✓ |
| Avalanche | avalanche | ✓ | ✓ | ✓ | ✓ |
| Base | base | ✓ | ✓ | ✓ | ✓ |
| Berachain | berachain | ✓ | ✓ | ✓ | ✓ |
| Blast | blast | ✓ | ✓ | ✓ | ✓ |
| BNB Smart Chain | bsc | ✓ | ✓ | ✓ | ✓ |
| BOB | bob | ✓ | ✓ | ✓ | ✓ |
| Boba Network | bobanetwork | ✓ | ✓ | ✓ | ✓ |
| Celo | celo | ✓ | ✓ | ✓ | ✓ |
| Ethereum | ethereum | ✓ | ✓ | ✓ | ✓ |
| Flow EVM | flowevm | ✓ | ✓ | ✓ | ✓ |
| Fraxtal | fraxtal | ✓ | ✓ | ✓ | ✓ |
| Galactica | galactica | ✓ | ✓ | ✓ | ✓ |
| Gnosis | gnosis | ✓ | ✓ | ✓ | ✓ |
| Gravity Alpha | gravityalpha | ✓ | ✓ | ✓ | ✓ |
| Hedera EVM | hederaevm | ✓ | ✓ | ✓ | ✗ |
| Humanity | humanity | ✓ | ✓ | ✓ | ✓ |
| HyperEVM | hyperevm | ✓ | ✓ | ✓ | ✗ |
| Immutable zkEVM | immutablezkevm | ✓ | ✓ | ✓ | ✓ |
| Injective EVM | injectiveevm | ✓ | ✓ | ✓ | ✗ |
| Ink | ink | ✓ | ✓ | ✓ | ✓ |
| IoTeX | iotex | ✓ | ✓ | ✓ | ✗ |
| Katana | katananetwork | ✓ | ✓ | ✓ | ✓ |
| Linea | linea | ✓ | ✓ | ✓ | ✓ |
| Manta | manta | ✓ | ✓ | ✓ | ✓ |
| MegaETH | megaeth | ✓ | ✓ | ✓ | ✗ |
| Metis | metis | ✓ | ✓ | ✓ | ✓ |
| Mode | mode | ✓ | ✓ | ✓ | ✓ |
| Monad | monad | ✓ | ✓ | ✓ | ✓ |
| opBNB | opbnb | ✓ | ✓ | ✓ | ✓ |
| Optimism | optimism | ✓ | ✓ | ✓ | ✓ |
| Plasma | plasma | ✓ | ✓ | ✓ | ✓ |
| Polygon | polygon | ✓ | ✓ | ✓ | ✓ |
| Robinhood Chain | robinhoodchain | ✓ | ✓ | ✓ | ✓ |
| Ronin | ronin | ✓ | ✓ | ✓ | ✗ |
| Rootstock | rootstock | ✓ | ✓ | ✓ | ✓ |
| Scroll | scroll | ✓ | ✓ | ✓ | ✓ |
| Sei EVM | seievm | ✓ | ✓ | ✓ | ✓ |
| Settlus | settlus | ✓ | ✓ | ✓ | ✓ |
| Shape | shape | ✓ | ✓ | ✓ | ✓ |
| Soneium | soneium | ✓ | ✓ | ✓ | ✓ |
| Sonic | sonic | ✓ | ✓ | ✓ | ✓ |
| Story | story | ✓ | ✓ | ✓ | ✓ |
| Superseed | superseed | ✓ | ✓ | ✓ | ✓ |
| Tempo | tempo | ✓ | ✓ | ✓ | ✓ |
| Unichain | unichain | ✓ | ✓ | ✓ | ✓ |
| Viction | viction | ✓ | ✓ | ✓ | ✓ |
| World Chain | worldchain | ✓ | ✓ | ✓ | ✓ |
| World Mobile Chain | worldmobilechain | ✓ | ✓ | ✓ | ✓ |
| XDC | xdc | ✓ | ✓ | ✓ | ✗ |
| X Layer | xlayer | ✓ | ✓ | ✓ | ✓ |
| ZKsync Era | zksyncera | ✓ | ✓ | ✓ | ✓ |
Tables
Every chain in the EVM family runs the Ethereum Virtual Machine, the same engine Ethereum runs, so every one of their datasets carries the same four core tables with the same columns. The schemas apply to every chain listed on the the chain matrix.
A receipt is the chain’s record of what a transaction cost and whether it worked. Those fields sit on the transaction’s own row, named receipt_*.
Every table splits by day: blocks on timestamp, the rest on block_timestamp. Bound that column in every query; without a bound the query reads the whole table.
blocks
transactions
logs
traces
A block is a batch of transactions that the network agreed on and added to the chain as one unit. blocks contains one row per block, keyed on the block number.| Column | Type | Description |
|---|
timestamp | TIMESTAMP | The time the block was produced. Partition column. |
number | INT64 | The block number. |
block_hash | STRING | The hash of the block. |
transaction_count | INT64 | The number of transactions in the block. |
gas_limit | INT64 | The maximum gas the block allows. |
gas_used | INT64 | The gas consumed by all transactions in the block. |
blob_gas_used | INT64 | The blob gas consumed by the block. |
excess_blob_gas | INT64 | The running excess of blob gas above the target. |
base_fee_per_gas | INT64 | The base fee per gas unit, in wei. |
miner | STRING | The address credited with producing the block. |
parent_hash | STRING | The hash of the parent block. |
nonce | STRING | The proof-of-work nonce. |
sha3_uncles | STRING | The hash of the block’s uncle list. |
logs_bloom | STRING | The bloom filter over the block’s logs. |
transactions_root | STRING | The root hash of the transaction trie. |
state_root | STRING | The root hash of the state trie. |
receipts_root | STRING | The root hash of the receipt trie. |
difficulty | INT64 | The proof-of-work difficulty. |
total_difficulty | NUMERIC | The cumulative difficulty up to this block. |
size | INT64 | The block size in bytes. |
extra_data | STRING | Arbitrary data included by the block producer. |
parent_beacon_block_root | STRING | The root of the parent beacon block. |
mix_hash | STRING | The mix hash from block sealing. |
uncles | ARRAY<STRING> | The hashes of the block’s uncles. |
withdrawals | ARRAY<STRUCT> | Validator withdrawals credited in the block: address, amount, index and validator index. |
withdrawals_root | STRING | The root hash of the withdrawal list. |
Count blocks and gas used per day. blocks splits on timestamp, not block_timestamp. A transaction is one signed instruction an account sent to the chain: a payment, or a call into a contract. transactions contains one row per transaction, with its receipt fields on the same row.| Column | Type | Description |
|---|
block_timestamp | TIMESTAMP | The time of the block containing the transaction. Partition column. |
block_number | INT64 | The number of the block containing the transaction. |
transaction_hash | STRING | The hash of the transaction. |
transaction_index | INT64 | The position of the transaction within the block. |
from_address | STRING | The sending address. |
to_address | STRING | The receiving address. Null for contract creations. |
value | NUMERIC | The native value transferred, in wei. |
gas | INT64 | The gas limit set by the sender. |
gas_price | INT64 | The gas price, in wei. |
nonce | INT64 | The sender’s transaction count at submission. |
input | STRING | The data sent with the transaction, saying which contract function to run and with what arguments. |
block_hash | STRING | The hash of the containing block. |
max_fee_per_gas | INT64 | The EIP-1559 fee cap per gas unit. |
max_priority_fee_per_gas | INT64 | The EIP-1559 priority fee per gas unit. |
transaction_type | INT64 | The transaction type identifier. |
receipt_type | INT64 | The type identifier recorded on the receipt. |
receipt_effective_gas_price | INT64 | The gas price paid, in wei. |
receipt_blob_gas_price | INT64 | The blob gas price paid. |
receipt_cumulative_gas_used | INT64 | The gas used in the block up to and including this transaction. |
receipt_gas_used | INT64 | The gas used by this transaction. |
receipt_blob_gas_used | INT64 | The blob gas used by this transaction. |
receipt_contract_address | STRING | The address of the contract created, when the transaction deploys one. |
receipt_status | BOOL | Whether the transaction succeeded. |
receipt_logs_bloom | STRING | The bloom filter over the transaction’s logs. |
receipt_transaction_index | INT64 | The transaction index recorded on the receipt. |
v | STRING | The signature recovery value. |
r | STRING | The signature r value. |
s | STRING | The signature s value. |
chain_id | INT64 | The chain id the transaction was signed for. |
blob_versioned_hashes | ARRAY<STRING> | The versioned hashes of attached blobs. |
max_fee_per_blob_gas | INT64 | The blob gas fee cap. |
access_list | ARRAY<STRUCT> | The declared access list: address and storage keys. |
Count daily transactions and their success rate over one week. A log is a note a contract writes when something happens inside it: a transfer, a swap, a deposit. Each contract decides what it announces this way, so logs are the main record of what apps did. logs contains one row per log.| Column | Type | Description |
|---|
block_timestamp | TIMESTAMP | The time of the block containing the log. Partition column. |
block_number | INT64 | The number of the block containing the log. |
transaction_hash | STRING | The hash of the transaction that emitted the log. |
log_index | INT64 | The position of the log within the block. |
address | STRING | The contract that emitted the log. |
data | STRING | The rest of the log’s contents, the part that is not searchable. |
topics | ARRAY<STRING> | The searchable fields of the log. The first one identifies which event this is. |
removed | BOOL | Whether the log was removed by a reorganization. |
block_hash | STRING | The hash of the containing block. |
transaction_index | INT64 | The position of the emitting transaction within the block. |
Count the logs one contract emitted on a single day. address is the contract that wrote the log. A trace is a record of one internal step a transaction took, including the calls a contract makes to other contracts. A single transaction usually produces many of them. traces contains one row per step: a call, a contract creation, a contract self-destruct, or a reward.| Column | Type | Description |
|---|
from_address | STRING | The calling address. |
gas | INT64 | The gas available to the call. |
gas_used | INT64 | The gas used by the call. |
to_address | STRING | The called address. |
input | STRING | The call data. |
value | FLOAT64 | The native value transferred by the call, in wei. |
trace_type | STRING | The trace type: call, create, suicide or reward. |
transaction_hash | STRING | The hash of the containing transaction. |
block_timestamp | TIMESTAMP | The time of the block containing the trace. Partition column. |
block_number | INT64 | The number of the containing block. |
trace_address | STRING | The position of the call in the call tree. |
output | STRING | The return data of the call. |
error | STRING | The error raised by the call, when it failed. |
revert_reason | STRING | The revert reason string, when one was returned. |
transaction_index | INT64 | The position of the containing transaction within the block. |
trace_id | STRING | The unique identifier of the trace. |
status | BOOL | Whether the call succeeded. |
The chains marked ✗ in the matrix do not have this table. They are listed under exceptions on the the chain matrix.Count the internal calls into one contract on a single day. to_address is the contract being called, whether directly or from another contract.
Exceptions
- Ethereum additionally carries
beacon_validators and uncle_blocks, documented on its Raw page.
- HyperEVM publishes its receipt fields as a separate
receipts table; every other chain carries them on the transaction row.