> ## Documentation Index
> Fetch the complete documentation index at: https://tokenterminal.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# EVM ecosystem

> Standardized blocks, transactions, logs and traces for every EVM chain.

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](#tables) section below lists the columns once for the whole family.

## Chains

<table>
  <thead>
    <tr>
      <th width="200">Chain</th>
      <th width="180"><code>chain\_id</code></th>
      <th width="90">blocks</th>
      <th width="120">transactions</th>
      <th width="90">logs</th>
      <th width="90">traces</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Anime</td>
      <td><code>anime</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>ApeChain</td>
      <td><code>apechain</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Arbitrum</td>
      <td><code>arbitrum</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Avalanche</td>
      <td><code>avalanche</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Base</td>
      <td><code>base</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Berachain</td>
      <td><code>berachain</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Blast</td>
      <td><code>blast</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>BNB Smart Chain</td>
      <td><code>bsc</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>BOB</td>
      <td><code>bob</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Boba Network</td>
      <td><code>bobanetwork</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Celo</td>
      <td><code>celo</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Ethereum</td>
      <td><code>ethereum</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Flow EVM</td>
      <td><code>flowevm</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Fraxtal</td>
      <td><code>fraxtal</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Galactica</td>
      <td><code>galactica</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Gnosis</td>
      <td><code>gnosis</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Gravity Alpha</td>
      <td><code>gravityalpha</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Hedera EVM</td>
      <td><code>hederaevm</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-cross">✗</span></td>
    </tr>

    <tr>
      <td>Humanity</td>
      <td><code>humanity</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>HyperEVM</td>
      <td><code>hyperevm</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-cross">✗</span></td>
    </tr>

    <tr>
      <td>Immutable zkEVM</td>
      <td><code>immutablezkevm</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Injective EVM</td>
      <td><code>injectiveevm</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-cross">✗</span></td>
    </tr>

    <tr>
      <td>Ink</td>
      <td><code>ink</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>IoTeX</td>
      <td><code>iotex</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-cross">✗</span></td>
    </tr>

    <tr>
      <td>Katana</td>
      <td><code>katananetwork</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Linea</td>
      <td><code>linea</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Manta</td>
      <td><code>manta</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>MegaETH</td>
      <td><code>megaeth</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-cross">✗</span></td>
    </tr>

    <tr>
      <td>Metis</td>
      <td><code>metis</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Mode</td>
      <td><code>mode</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Monad</td>
      <td><code>monad</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>opBNB</td>
      <td><code>opbnb</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Optimism</td>
      <td><code>optimism</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Plasma</td>
      <td><code>plasma</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Polygon</td>
      <td><code>polygon</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Robinhood Chain</td>
      <td><code>robinhoodchain</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Ronin</td>
      <td><code>ronin</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-cross">✗</span></td>
    </tr>

    <tr>
      <td>Rootstock</td>
      <td><code>rootstock</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Scroll</td>
      <td><code>scroll</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Sei EVM</td>
      <td><code>seievm</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Settlus</td>
      <td><code>settlus</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Shape</td>
      <td><code>shape</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Soneium</td>
      <td><code>soneium</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Sonic</td>
      <td><code>sonic</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Story</td>
      <td><code>story</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Superseed</td>
      <td><code>superseed</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Tempo</td>
      <td><code>tempo</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Unichain</td>
      <td><code>unichain</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>Viction</td>
      <td><code>viction</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>World Chain</td>
      <td><code>worldchain</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>World Mobile Chain</td>
      <td><code>worldmobilechain</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>XDC</td>
      <td><code>xdc</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-cross">✗</span></td>
    </tr>

    <tr>
      <td>X Layer</td>
      <td><code>xlayer</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>

    <tr>
      <td>ZKsync Era</td>
      <td><code>zksyncera</code></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
      <td><span class="tt-check">✓</span></td>
    </tr>
  </tbody>
</table>

## 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](#chains).

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_*`.

<Warning>
  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.
</Warning>

<Tabs>
  <Tab title="blocks">
    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.

    <table>
      <thead>
        <tr>
          <th width="280">Column</th>
          <th width="130">Type</th>
          <th>Description</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td><code>timestamp</code></td>
          <td>TIMESTAMP</td>
          <td>The time the block was produced. Partition column.</td>
        </tr>

        <tr>
          <td><code>number</code></td>
          <td>INT64</td>
          <td>The block number.</td>
        </tr>

        <tr>
          <td><code>block\_hash</code></td>
          <td>STRING</td>
          <td>The hash of the block.</td>
        </tr>

        <tr>
          <td><code>transaction\_count</code></td>
          <td>INT64</td>
          <td>The number of transactions in the block.</td>
        </tr>

        <tr>
          <td><code>gas\_limit</code></td>
          <td>INT64</td>
          <td>The maximum gas the block allows.</td>
        </tr>

        <tr>
          <td><code>gas\_used</code></td>
          <td>INT64</td>
          <td>The gas consumed by all transactions in the block.</td>
        </tr>

        <tr>
          <td><code>blob\_gas\_used</code></td>
          <td>INT64</td>
          <td>The blob gas consumed by the block.</td>
        </tr>

        <tr>
          <td><code>excess\_blob\_gas</code></td>
          <td>INT64</td>
          <td>The running excess of blob gas above the target.</td>
        </tr>

        <tr>
          <td><code>base\_fee\_per\_gas</code></td>
          <td>INT64</td>
          <td>The base fee per gas unit, in wei.</td>
        </tr>

        <tr>
          <td><code>miner</code></td>
          <td>STRING</td>
          <td>The address credited with producing the block.</td>
        </tr>

        <tr>
          <td><code>parent\_hash</code></td>
          <td>STRING</td>
          <td>The hash of the parent block.</td>
        </tr>

        <tr>
          <td><code>nonce</code></td>
          <td>STRING</td>
          <td>The proof-of-work nonce.</td>
        </tr>

        <tr>
          <td><code>sha3\_uncles</code></td>
          <td>STRING</td>
          <td>The hash of the block's uncle list.</td>
        </tr>

        <tr>
          <td><code>logs\_bloom</code></td>
          <td>STRING</td>
          <td>The bloom filter over the block's logs.</td>
        </tr>

        <tr>
          <td><code>transactions\_root</code></td>
          <td>STRING</td>
          <td>The root hash of the transaction trie.</td>
        </tr>

        <tr>
          <td><code>state\_root</code></td>
          <td>STRING</td>
          <td>The root hash of the state trie.</td>
        </tr>

        <tr>
          <td><code>receipts\_root</code></td>
          <td>STRING</td>
          <td>The root hash of the receipt trie.</td>
        </tr>

        <tr>
          <td><code>difficulty</code></td>
          <td>INT64</td>
          <td>The proof-of-work difficulty.</td>
        </tr>

        <tr>
          <td><code>total\_difficulty</code></td>
          <td>NUMERIC</td>
          <td>The cumulative difficulty up to this block.</td>
        </tr>

        <tr>
          <td><code>size</code></td>
          <td>INT64</td>
          <td>The block size in bytes.</td>
        </tr>

        <tr>
          <td><code>extra\_data</code></td>
          <td>STRING</td>
          <td>Arbitrary data included by the block producer.</td>
        </tr>

        <tr>
          <td><code>parent\_beacon\_block\_root</code></td>
          <td>STRING</td>
          <td>The root of the parent beacon block.</td>
        </tr>

        <tr>
          <td><code>mix\_hash</code></td>
          <td>STRING</td>
          <td>The mix hash from block sealing.</td>
        </tr>

        <tr>
          <td><code>uncles</code></td>
          <td>ARRAY\<STRING></td>
          <td>The hashes of the block's uncles.</td>
        </tr>

        <tr>
          <td><code>withdrawals</code></td>
          <td>ARRAY\<STRUCT></td>
          <td>Validator withdrawals credited in the block: address, amount, index and validator index.</td>
        </tr>

        <tr>
          <td><code>withdrawals\_root</code></td>
          <td>STRING</td>
          <td>The root hash of the withdrawal list.</td>
        </tr>
      </tbody>
    </table>

    <Tabs>
      <Tab title="Daily blocks and gas">
        **Count blocks and gas used per day.** `blocks` splits on `timestamp`, not `block_timestamp`.

        ```sql theme={null}
        select
            timestamp_trunc(timestamp, day) as day,
            count(*) as blocks,
            sum(gas_used) as gas_used
        from `ethereum.blocks`
        where timestamp >= timestamp('2026-08-16')
          and timestamp < timestamp('2026-08-23')
        group by day
        order by day
        ```
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="transactions">
    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.

    <table>
      <thead>
        <tr>
          <th width="280">Column</th>
          <th width="130">Type</th>
          <th>Description</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td><code>block\_timestamp</code></td>
          <td>TIMESTAMP</td>
          <td>The time of the block containing the transaction. Partition column.</td>
        </tr>

        <tr>
          <td><code>block\_number</code></td>
          <td>INT64</td>
          <td>The number of the block containing the transaction.</td>
        </tr>

        <tr>
          <td><code>transaction\_hash</code></td>
          <td>STRING</td>
          <td>The hash of the transaction.</td>
        </tr>

        <tr>
          <td><code>transaction\_index</code></td>
          <td>INT64</td>
          <td>The position of the transaction within the block.</td>
        </tr>

        <tr>
          <td><code>from\_address</code></td>
          <td>STRING</td>
          <td>The sending address.</td>
        </tr>

        <tr>
          <td><code>to\_address</code></td>
          <td>STRING</td>
          <td>The receiving address. Null for contract creations.</td>
        </tr>

        <tr>
          <td><code>value</code></td>
          <td>NUMERIC</td>
          <td>The native value transferred, in wei.</td>
        </tr>

        <tr>
          <td><code>gas</code></td>
          <td>INT64</td>
          <td>The gas limit set by the sender.</td>
        </tr>

        <tr>
          <td><code>gas\_price</code></td>
          <td>INT64</td>
          <td>The gas price, in wei.</td>
        </tr>

        <tr>
          <td><code>nonce</code></td>
          <td>INT64</td>
          <td>The sender's transaction count at submission.</td>
        </tr>

        <tr>
          <td><code>input</code></td>
          <td>STRING</td>
          <td>The data sent with the transaction, saying which contract function to run and with what arguments.</td>
        </tr>

        <tr>
          <td><code>block\_hash</code></td>
          <td>STRING</td>
          <td>The hash of the containing block.</td>
        </tr>

        <tr>
          <td><code>max\_fee\_per\_gas</code></td>
          <td>INT64</td>
          <td>The EIP-1559 fee cap per gas unit.</td>
        </tr>

        <tr>
          <td><code>max\_priority\_fee\_per\_gas</code></td>
          <td>INT64</td>
          <td>The EIP-1559 priority fee per gas unit.</td>
        </tr>

        <tr>
          <td><code>transaction\_type</code></td>
          <td>INT64</td>
          <td>The transaction type identifier.</td>
        </tr>

        <tr>
          <td><code>receipt\_type</code></td>
          <td>INT64</td>
          <td>The type identifier recorded on the receipt.</td>
        </tr>

        <tr>
          <td><code>receipt\_effective\_gas\_price</code></td>
          <td>INT64</td>
          <td>The gas price paid, in wei.</td>
        </tr>

        <tr>
          <td><code>receipt\_blob\_gas\_price</code></td>
          <td>INT64</td>
          <td>The blob gas price paid.</td>
        </tr>

        <tr>
          <td><code>receipt\_cumulative\_gas\_used</code></td>
          <td>INT64</td>
          <td>The gas used in the block up to and including this transaction.</td>
        </tr>

        <tr>
          <td><code>receipt\_gas\_used</code></td>
          <td>INT64</td>
          <td>The gas used by this transaction.</td>
        </tr>

        <tr>
          <td><code>receipt\_blob\_gas\_used</code></td>
          <td>INT64</td>
          <td>The blob gas used by this transaction.</td>
        </tr>

        <tr>
          <td><code>receipt\_contract\_address</code></td>
          <td>STRING</td>
          <td>The address of the contract created, when the transaction deploys one.</td>
        </tr>

        <tr>
          <td><code>receipt\_status</code></td>
          <td>BOOL</td>
          <td>Whether the transaction succeeded.</td>
        </tr>

        <tr>
          <td><code>receipt\_logs\_bloom</code></td>
          <td>STRING</td>
          <td>The bloom filter over the transaction's logs.</td>
        </tr>

        <tr>
          <td><code>receipt\_transaction\_index</code></td>
          <td>INT64</td>
          <td>The transaction index recorded on the receipt.</td>
        </tr>

        <tr>
          <td><code>v</code></td>
          <td>STRING</td>
          <td>The signature recovery value.</td>
        </tr>

        <tr>
          <td><code>r</code></td>
          <td>STRING</td>
          <td>The signature r value.</td>
        </tr>

        <tr>
          <td><code>s</code></td>
          <td>STRING</td>
          <td>The signature s value.</td>
        </tr>

        <tr>
          <td><code>chain\_id</code></td>
          <td>INT64</td>
          <td>The chain id the transaction was signed for.</td>
        </tr>

        <tr>
          <td><code>blob\_versioned\_hashes</code></td>
          <td>ARRAY\<STRING></td>
          <td>The versioned hashes of attached blobs.</td>
        </tr>

        <tr>
          <td><code>max\_fee\_per\_blob\_gas</code></td>
          <td>INT64</td>
          <td>The blob gas fee cap.</td>
        </tr>

        <tr>
          <td><code>access\_list</code></td>
          <td>ARRAY\<STRUCT></td>
          <td>The declared access list: address and storage keys.</td>
        </tr>
      </tbody>
    </table>

    <Tabs>
      <Tab title="Daily success rate">
        **Count daily transactions and their success rate over one week.**

        ```sql theme={null}
        select
            timestamp_trunc(block_timestamp, day) as day,
            count(*) as transactions,
            countif(receipt_status) as successful
        from `ethereum.transactions`
        where block_timestamp >= timestamp('2026-08-16')
          and block_timestamp < timestamp('2026-08-23')
        group by day
        order by day
        ```
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="logs">
    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.

    <table>
      <thead>
        <tr>
          <th width="280">Column</th>
          <th width="130">Type</th>
          <th>Description</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td><code>block\_timestamp</code></td>
          <td>TIMESTAMP</td>
          <td>The time of the block containing the log. Partition column.</td>
        </tr>

        <tr>
          <td><code>block\_number</code></td>
          <td>INT64</td>
          <td>The number of the block containing the log.</td>
        </tr>

        <tr>
          <td><code>transaction\_hash</code></td>
          <td>STRING</td>
          <td>The hash of the transaction that emitted the log.</td>
        </tr>

        <tr>
          <td><code>log\_index</code></td>
          <td>INT64</td>
          <td>The position of the log within the block.</td>
        </tr>

        <tr>
          <td><code>address</code></td>
          <td>STRING</td>
          <td>The contract that emitted the log.</td>
        </tr>

        <tr>
          <td><code>data</code></td>
          <td>STRING</td>
          <td>The rest of the log's contents, the part that is not searchable.</td>
        </tr>

        <tr>
          <td><code>topics</code></td>
          <td>ARRAY\<STRING></td>
          <td>The searchable fields of the log. The first one identifies which event this is.</td>
        </tr>

        <tr>
          <td><code>removed</code></td>
          <td>BOOL</td>
          <td>Whether the log was removed by a reorganization.</td>
        </tr>

        <tr>
          <td><code>block\_hash</code></td>
          <td>STRING</td>
          <td>The hash of the containing block.</td>
        </tr>

        <tr>
          <td><code>transaction\_index</code></td>
          <td>INT64</td>
          <td>The position of the emitting transaction within the block.</td>
        </tr>
      </tbody>
    </table>

    <Tabs>
      <Tab title="One contract's logs">
        **Count the logs one contract emitted on a single day.** `address` is the contract that wrote the log.

        ```sql theme={null}
        select
            count(*) as logs,
            count(distinct transaction_hash) as transactions
        from `ethereum.logs`
        where block_timestamp >= timestamp('2026-08-20')
          and block_timestamp < timestamp('2026-08-21')
          and address = '0xdac17f958d2ee523a2206206994597c13d831ec7'
        ```
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="traces">
    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.

    <table>
      <thead>
        <tr>
          <th width="280">Column</th>
          <th width="130">Type</th>
          <th>Description</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td><code>from\_address</code></td>
          <td>STRING</td>
          <td>The calling address.</td>
        </tr>

        <tr>
          <td><code>gas</code></td>
          <td>INT64</td>
          <td>The gas available to the call.</td>
        </tr>

        <tr>
          <td><code>gas\_used</code></td>
          <td>INT64</td>
          <td>The gas used by the call.</td>
        </tr>

        <tr>
          <td><code>to\_address</code></td>
          <td>STRING</td>
          <td>The called address.</td>
        </tr>

        <tr>
          <td><code>input</code></td>
          <td>STRING</td>
          <td>The call data.</td>
        </tr>

        <tr>
          <td><code>value</code></td>
          <td>FLOAT64</td>
          <td>The native value transferred by the call, in wei.</td>
        </tr>

        <tr>
          <td><code>trace\_type</code></td>
          <td>STRING</td>
          <td>The trace type: call, create, suicide or reward.</td>
        </tr>

        <tr>
          <td><code>transaction\_hash</code></td>
          <td>STRING</td>
          <td>The hash of the containing transaction.</td>
        </tr>

        <tr>
          <td><code>block\_timestamp</code></td>
          <td>TIMESTAMP</td>
          <td>The time of the block containing the trace. Partition column.</td>
        </tr>

        <tr>
          <td><code>block\_number</code></td>
          <td>INT64</td>
          <td>The number of the containing block.</td>
        </tr>

        <tr>
          <td><code>trace\_address</code></td>
          <td>STRING</td>
          <td>The position of the call in the call tree.</td>
        </tr>

        <tr>
          <td><code>output</code></td>
          <td>STRING</td>
          <td>The return data of the call.</td>
        </tr>

        <tr>
          <td><code>error</code></td>
          <td>STRING</td>
          <td>The error raised by the call, when it failed.</td>
        </tr>

        <tr>
          <td><code>revert\_reason</code></td>
          <td>STRING</td>
          <td>The revert reason string, when one was returned.</td>
        </tr>

        <tr>
          <td><code>transaction\_index</code></td>
          <td>INT64</td>
          <td>The position of the containing transaction within the block.</td>
        </tr>

        <tr>
          <td><code>trace\_id</code></td>
          <td>STRING</td>
          <td>The unique identifier of the trace.</td>
        </tr>

        <tr>
          <td><code>status</code></td>
          <td>BOOL</td>
          <td>Whether the call succeeded.</td>
        </tr>
      </tbody>
    </table>

    The chains marked ✗ in the matrix do not have this table. They are listed under exceptions on the [the chain matrix](#chains).

    <Tabs>
      <Tab title="Calls into one contract">
        **Count the internal calls into one contract on a single day.** `to_address` is the contract being called, whether directly or from another contract.

        ```sql theme={null}
        select
            count(*) as calls,
            count(distinct transaction_hash) as transactions
        from `ethereum.traces`
        where block_timestamp >= timestamp('2026-08-20')
          and block_timestamp < timestamp('2026-08-21')
          and to_address = '0xdac17f958d2ee523a2206206994597c13d831ec7'
        ```
      </Tab>
    </Tabs>
  </Tab>
</Tabs>

## Exceptions

* Ethereum additionally carries `beacon_validators` and `uncle_blocks`, documented on its [Raw](/docs/catalog/chain-verticals/evm/ethereum/raw) page.
* HyperEVM publishes its receipt fields as a separate `receipts` table; every other chain carries them on the transaction row.
