> ## 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.

> ## Agent Instructions
> To query the Token Terminal data catalog, read https://tokenterminal.com/docs/catalog/agents-manual.md first. It is the whole catalog as one page: table naming grammar, key columns, partition and cluster rules, units, additivity, and the tables that are documented but not served yet.
> Never query a catalog table on a time bound alone. Also filter its cluster key, which you read from INFORMATION_SCHEMA.COLUMNS; an empty result means the object is a view, whose pruning contract is on its page. Compute is billed to the caller's own Google Cloud project.

# TON

> The standardized TON tables.

The `ton` dataset holds the standardized TON tables. History starts 2019-11.

## Tables

<table>
  <thead>
    <tr>
      <th width="260">Table</th>
      <th width="110">Since</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><code>block\_headers</code></td>
      <td>Not partitioned</td>
    </tr>

    <tr>
      <td><code>blocks</code></td>
      <td>2019-11</td>
    </tr>

    <tr>
      <td><code>messages</code></td>
      <td>2019-11</td>
    </tr>

    <tr>
      <td><code>shards</code></td>
      <td>Not partitioned</td>
    </tr>

    <tr>
      <td><code>transactions</code></td>
      <td>2019-11</td>
    </tr>
  </tbody>
</table>

## Sample queries

<Warning>
  `transactions` and `messages` split by day on `block_timestamp`, and `blocks` on `timestamp`. Bound that column in every query against them. `block_headers` and `shards` carry no partition key, so every query against those two reads the whole table.
</Warning>

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

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