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

# Polkadot

> The Polkadot relay chain and its system chains, from June 2020.

Polkadot is a relay chain with a set of system chains beside it, each handling one job of its own. Every one is its own dataset, queried as `<chain_id>.<table>`, and all of them have the same three core tables. The relay chain has two more.

<table>
  <thead>
    <tr>
      <th width="180">Chain</th>
      <th width="190">`chain_id`</th>
      <th width="90">Since</th>
      <th>What it holds</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Relay chain</td>
      <td>`polkadot`</td>
      <td>2020-06</td>
      <td>Consensus and the chains connected to it.</td>
    </tr>

    <tr>
      <td>Asset Hub</td>
      <td>`polkadotassethub`</td>
      <td>2021-12</td>
      <td>Fungible and non-fungible assets. Its tokens reach the token list.</td>
    </tr>

    <tr>
      <td>Bridge Hub</td>
      <td>`polkadotbridgehub`</td>
      <td>2023-05</td>
      <td>Bridges from Polkadot to other networks.</td>
    </tr>

    <tr>
      <td>Collectives</td>
      <td>`polkadotcollectives`</td>
      <td>2022-11</td>
      <td>On-chain bodies, including the Technical Fellowship.</td>
    </tr>

    <tr>
      <td>Coretime</td>
      <td>`polkadotcoretime`</td>
      <td>2024-09</td>
      <td>Sales of blockspace to the chains that use it.</td>
    </tr>

    <tr>
      <td>People</td>
      <td>`polkadotpeople`</td>
      <td>2024-07</td>
      <td>Identities, which moved off the relay chain onto their own.</td>
    </tr>
  </tbody>
</table>

Every column is documented at [Substrate ▸ Overview](https://tokenterminal.com/docs/catalog/chain-verticals/substrate/index.md).

Asset Hub is where Polkadot's tokens live, and those reach the catalog's token list. [Chains](https://tokenterminal.com/docs/catalog/chains/index.md) covers the list of chains and the daily tables built on it. [Tokens](https://tokenterminal.com/docs/catalog/tokens/index.md) covers the token list.

## Tables

Every chain above has `blocks`, `extrinsics` and `events`. The relay chain has two more.

<table>
  <thead>
    <tr>
      <th width="240">Table</th>
      <th width="150">Chains</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`blocks`</td>
      <td>All</td>
      <td>One row per block, with its author and extrinsic count.</td>
    </tr>

    <tr>
      <td>`extrinsics`</td>
      <td>All</td>
      <td>One row per extrinsic, the Substrate equivalent of a transaction.</td>
    </tr>

    <tr>
      <td>`events`</td>
      <td>All</td>
      <td>One row per event emitted during block execution.</td>
    </tr>

    <tr>
      <td>`initialize_finalize_events`</td>
      <td>`polkadot`</td>
      <td>Events emitted while a block is initialized and finalized.</td>
    </tr>

    <tr>
      <td>`chain_ids`</td>
      <td>`polkadot`</td>
      <td>A mapping of numeric ids to chain identifiers.</td>
    </tr>
  </tbody>
</table>

`initialize_finalize_events` has the same columns as `events`; it was retired on 2024-07-29 and its history ends there. `chain_ids` is unpartitioned and has two columns, `id` and `chain_id`.

## Sample queries

> [!WARNING]
>
> The tables split by day on `block_timestamp` (`blocks` on `timestamp`). Bound that column in every query; without a bound the query reads the whole table.

**Event-emitting pallets**

**Rank event-emitting pallets on the relay chain on one day.**

```sql theme={null}
select
    event_pallet,
    count(*) as events
from `polkadot.events`
where block_timestamp >= timestamp('2026-08-20')
  and block_timestamp < timestamp('2026-08-21')
group by event_pallet
order by events desc
limit 20
```

**One system chain**

**Count daily extrinsics on Asset Hub over one week.** Swap the dataset name for any other chain in the table above; the shape is the same.

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

**Chain entry lookup**

**Look up Polkadot's chain entry and the project it belongs to.**

```sql theme={null}
select
    chains.chain_id,
    chains.name as chain_name,
    projects.name as project_name,
    projects.primary_market_sector
from `dimensions.chains` as chains
join `dimensions.projects` as projects using (project_id)
where chains.chain_id = 'polkadot'
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.