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

# X Layer

> Everything the catalog holds for X Layer, from raw blocks to project activity.

Most of the catalog is queryable for X Layer, from the blocks themselves to the daily activity of the projects that run on it.

The chain's own record sits in the `xlayer` dataset: one row per block, transaction, log and internal call. Everything above that sits in the catalog, where the X Layer rows are selected with `chain_id = 'xlayer'`.

The section mirrors the catalog itself: the core entities, then the market verticals with data on X Layer.

## Layers

<table>
  <thead>
    <tr>
      <th width="180">Layer</th>
      <th width="110">Since</th>
      <th>What it holds</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>[Raw](https://tokenterminal.com/docs/catalog/chain-verticals/evm/xlayer/raw.md)</td>
      <td>2024-03</td>
      <td>Blocks, transactions, logs and internal calls.</td>
    </tr>

    <tr>
      <td>[Projects](https://tokenterminal.com/docs/catalog/chain-verticals/evm/xlayer/projects.md)</td>
      <td>2024-03</td>
      <td>Daily Fees and Revenue for each tracked project, broken out to X Layer.</td>
    </tr>

    <tr>
      <td>[Assets](https://tokenterminal.com/docs/catalog/chain-verticals/evm/xlayer/assets.md)</td>
      <td>2024-03</td>
      <td>Every curated asset issued on X Layer, with daily supply, holders and transfer activity.</td>
    </tr>

    <tr>
      <td>[Tokens](https://tokenterminal.com/docs/catalog/chain-verticals/evm/xlayer/tokens.md)</td>
      <td>**In progress**</td>
      <td>Every ERC-20 transfer, both sides of every balance move, holder balances at query time, and daily prices.</td>
    </tr>

    <tr>
      <td>[Accounts](https://tokenterminal.com/docs/catalog/chain-verticals/evm/xlayer/accounts.md)</td>
      <td>**In progress**</td>
      <td>Wallets and contracts labeled with the projects that own them.</td>
    </tr>

    <tr>
      <td>[Contracts](https://tokenterminal.com/docs/catalog/chain-verticals/evm/xlayer/contracts.md)</td>
      <td>2024-03</td>
      <td>Every contract deployed on X Layer, with the account that created it.</td>
    </tr>

    <tr>
      <td>[Stablecoins](https://tokenterminal.com/docs/catalog/chain-verticals/evm/xlayer/stablecoins.md)</td>
      <td>2024-03</td>
      <td>Every stablecoin issued on X Layer: supply, holders and transfers.</td>
    </tr>

    <tr>
      <td>[Bridges](https://tokenterminal.com/docs/catalog/chain-verticals/evm/xlayer/bridges.md)</td>
      <td>2025-10</td>
      <td>Cross-chain transfers that left X Layer or arrived on it, matched leg to leg.</td>
    </tr>
  </tbody>
</table>

## Filtering

`chain_id` reads `xlayer` wherever a catalog table has a chain column, so the same filter selects X Layer everywhere. Some shapes ask for something else. The asset tables key on the asset or its deployment, so the chain comes from `dimensions.asset_tokens`, as the query below does. Project and app totals span every chain a project runs on, so one chain's share reads from `metrics_projects_by_chain` and `metrics_apps_by_chain`. A bridge transfer has a chain on each end, named by `source_chain_id` and `destination_chain_id`.

> [!WARNING]
>
> Every table splits by day: the raw and event tables on `block_timestamp`, the daily tables on `timestamp`. Bound that column in every query; without a bound the query reads the whole table.

```sql theme={null}
select
    daily.timestamp,
    deployments.asset_id,
    assets.symbol,
    daily.market_cap_circulating
from `metrics_asset_tokens.market_cap_circulating_daily` as daily
join `dimensions.asset_tokens` as deployments
    using (asset_token_id)
join `dimensions.assets` as assets
    using (asset_id)
where deployments.chain_id = 'xlayer'
  and daily.timestamp >= timestamp('2026-08-01')
  and daily.timestamp < timestamp('2026-08-02')
limit 100
```


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