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

# Metrics

> Daily stablecoin figures per stablecoin and per deployment.

Supply, holders, transfer activity, price and peg deviation. One row per thing per day, at three grains: stablecoin, stablecoin and chain, and deployment.

## Tables

A tab per grain. [Coverage](https://tokenterminal.com/docs/catalog/stablecoins.md) shows which issuers report which measure.

**Stablecoin**

One row per stablecoin per day.

<table>
  <thead>
    <tr>
      <th width="330">Table</th>
      <th width="190">Value column</th>
      <th>What it holds</th>
    </tr>
  </thead>

  <tbody>
    <tr><td>`metrics_assets.market_cap_circulating_daily`</td><td>`market_cap_circulating`</td><td>Circulating market cap across every representation of the asset, native issuance plus bridged wrappers plus any off-chain component.</td></tr>
    <tr><td>`metrics_assets.app_tvl_daily`</td><td>`app_tvl`</td><td>Value of the asset deposited into onchain apps -- lending markets, DEX pools and vaults</td></tr>
    <tr><td>`metrics_assets.app_trading_volume_daily`</td><td>`app_trading_volume`</td><td>Value of spot trades involving the asset on onchain venues -- DEX pools and onchain order books -- USD</td></tr>
    <tr><td>`metrics_assets.market_cap_circulating_native_daily`</td><td>`market_cap_circulating_native`</td><td>Circulating market cap of natively-issued deployments only.</td></tr>
    <tr><td>`metrics_assets.market_cap_circulating_bridged_daily`</td><td>`market_cap_circulating_bridged`</td><td>Circulating market cap of bridged deployments only, wrapped representations of supply issued elsewhere.</td></tr>
    <tr><td>`metrics_assets.market_cap_circulating_offchain_daily`</td><td>`market_cap_circulating_offchain`</td><td>Circulating market cap the issuer reports off-chain, the portion of a fund's NAV no token contract represents.</td></tr>
    <tr><td>`metrics_assets.price_daily`</td><td>`price`</td><td>Asset price in USD (canonical across sources).</td></tr>
    <tr><td>`metrics_assets.off_peg_daily`</td><td>`off_peg`</td><td>Deviation from the asset's peg.</td></tr>
    <tr><td>`metrics_assets.holders_daily`</td><td>`holders`</td><td>Distinct holders summed across every deployment of the asset; an address on two chains counts twice.</td></tr>
    <tr><td>`metrics_assets.holders_native_daily`</td><td>`holders_native`</td><td>Distinct holders across the asset's natively-issued deployments only.</td></tr>
    <tr><td>`metrics_assets.holders_bridged_daily`</td><td>`holders_bridged`</td><td>Distinct holders across the asset's bridged deployments only.</td></tr>
    <tr><td>`metrics_assets.mints_daily`</td><td>`mints`</td><td>Value minted (issued) across every deployment; a bridged mint is a distinct event, so this is a real total.</td></tr>
    <tr><td>`metrics_assets.mints_native_daily`</td><td>`mints_native`</td><td>Value minted (issued) on natively-issued deployments only.</td></tr>
    <tr><td>`metrics_assets.mints_bridged_daily`</td><td>`mints_bridged`</td><td>Value minted (issued) on bridged deployments only.</td></tr>
    <tr><td>`metrics_assets.redemptions_daily`</td><td>`redemptions`</td><td>Value redeemed (burned) across every deployment; a bridged burn is a distinct event, so this is a real total.</td></tr>
    <tr><td>`metrics_assets.redemptions_native_daily`</td><td>`redemptions_native`</td><td>Value redeemed (burned) on natively-issued deployments only.</td></tr>
    <tr><td>`metrics_assets.redemptions_bridged_daily`</td><td>`redemptions_bridged`</td><td>Value redeemed (burned) on bridged deployments only.</td></tr>
    <tr><td>`metrics_assets.transfer_count_daily`</td><td>`transfer_count`</td><td>Number of transfers across every deployment; a bridged transfer is a distinct event, so this is a real total.</td></tr>
    <tr><td>`metrics_assets.transfer_count_native_daily`</td><td>`transfer_count_native`</td><td>Number of transfers on natively-issued deployments only.</td></tr>
    <tr><td>`metrics_assets.transfer_count_bridged_daily`</td><td>`transfer_count_bridged`</td><td>Number of transfers on bridged deployments only.</td></tr>
    <tr><td>`metrics_assets.transfer_volume_daily`</td><td>`transfer_volume`</td><td>Value transferred across every deployment; a bridged transfer is a distinct event, so this is a real total.</td></tr>
    <tr><td>`metrics_assets.transfer_volume_native_daily`</td><td>`transfer_volume_native`</td><td>Value transferred on natively-issued deployments only.</td></tr>
    <tr><td>`metrics_assets.transfer_volume_bridged_daily`</td><td>`transfer_volume_bridged`</td><td>Value transferred on bridged deployments only.</td></tr>
    <tr><td>`metrics_assets.daily_active_users_daily`</td><td>`daily_active_users`</td><td>Distinct addresses sending the asset on the day, across every deployment.</td></tr>
    <tr><td>`metrics_assets.weekly_active_users_daily`</td><td>`weekly_active_users`</td><td>Distinct addresses sending the asset in the trailing 7 days, across every deployment.</td></tr>
    <tr><td>`metrics_assets.monthly_active_users_daily`</td><td>`monthly_active_users`</td><td>Distinct addresses sending the asset in the trailing 30 days, across every deployment.</td></tr>
  </tbody>
</table>

**Stablecoin and chain**

One row per stablecoin per chain per day. Keyed on `asset_id`, `chain_id` and `timestamp`, and joins `dimensions.assets_by_chain` on `asset_id` and `chain_id`. Every measure rolls up the stablecoin's deployments on that chain.

<table>
  <thead>
    <tr>
      <th width="380">Table</th>
      <th width="270">Value column</th>
      <th>What it holds</th>
    </tr>
  </thead>

  <tbody>
    <tr><td>`metrics_assets_by_chain.app_tvl_daily`</td><td>`app_tvl`</td><td>Value of the asset deposited into onchain apps -- lending markets, DEX pools and vaults</td></tr>
    <tr><td>`metrics_assets_by_chain.app_trading_volume_daily`</td><td>`app_trading_volume`</td><td>Value of spot trades involving the asset on onchain venues -- DEX pools and onchain order books -- USD</td></tr>
    <tr><td>`metrics_assets_by_chain.market_cap_circulating_native_daily`</td><td>`market_cap_circulating_native`</td><td>Circulating market cap of natively-issued deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.market_cap_circulating_bridged_daily`</td><td>`market_cap_circulating_bridged`</td><td>Circulating market cap of bridged deployments only, wrapped representations of supply issued elsewhere</td></tr>
    <tr><td>`metrics_assets_by_chain.market_cap_circulating_daily`</td><td>`market_cap_circulating`</td><td>Circulating market cap of the asset on the chain, USD, summed across every deployment there, native and bridged.</td></tr>
    <tr><td>`metrics_assets_by_chain.holders_daily`</td><td>`holders`</td><td>Distinct holders summed across every deployment of the asset, native and bridged</td></tr>
    <tr><td>`metrics_assets_by_chain.holders_native_daily`</td><td>`holders_native`</td><td>Distinct holders across the asset's natively-issued deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.holders_bridged_daily`</td><td>`holders_bridged`</td><td>Distinct holders across the asset's bridged deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.mints_native_daily`</td><td>`mints_native`</td><td>Value minted (issued) on natively-issued deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.mints_bridged_daily`</td><td>`mints_bridged`</td><td>Value minted (issued) on bridged deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.mints_daily`</td><td>`mints`</td><td>Value minted (issued) across every deployment; a bridged mint is a distinct event, so this is a real total</td></tr>
    <tr><td>`metrics_assets_by_chain.redemptions_native_daily`</td><td>`redemptions_native`</td><td>Value redeemed (burned) on natively-issued deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.redemptions_bridged_daily`</td><td>`redemptions_bridged`</td><td>Value redeemed (burned) on bridged deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.redemptions_daily`</td><td>`redemptions`</td><td>Value redeemed (burned) across every deployment; a bridged burn is a distinct event, so this is a real total</td></tr>
    <tr><td>`metrics_assets_by_chain.transfer_count_native_daily`</td><td>`transfer_count_native`</td><td>Number of transfers on natively-issued deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.transfer_count_bridged_daily`</td><td>`transfer_count_bridged`</td><td>Number of transfers on bridged deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.transfer_count_daily`</td><td>`transfer_count`</td><td>Number of transfers across every deployment; a bridged transfer is a distinct event, so this is a real total</td></tr>
    <tr><td>`metrics_assets_by_chain.transfer_volume_native_daily`</td><td>`transfer_volume_native`</td><td>Value transferred on natively-issued deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.transfer_volume_bridged_daily`</td><td>`transfer_volume_bridged`</td><td>Value transferred on bridged deployments only</td></tr>
    <tr><td>`metrics_assets_by_chain.transfer_volume_daily`</td><td>`transfer_volume`</td><td>Value transferred across every deployment; a bridged transfer is a distinct event, so this is a real total</td></tr>
    <tr><td>`metrics_assets_by_chain.daily_active_users_daily`</td><td>`daily_active_users`</td><td>Distinct addresses sending the asset on the day, across every deployment</td></tr>
    <tr><td>`metrics_assets_by_chain.weekly_active_users_daily`</td><td>`weekly_active_users`</td><td>Distinct addresses sending the asset in the trailing 7 days, across every deployment</td></tr>
    <tr><td>`metrics_assets_by_chain.monthly_active_users_daily`</td><td>`monthly_active_users`</td><td>Distinct addresses sending the asset in the trailing 30 days, across every deployment</td></tr>
  </tbody>
</table>

**Deployment**

One row per deployment per day.

<table>
  <thead>
    <tr>
      <th width="330">Table</th>
      <th width="190">Value column</th>
      <th>What it holds</th>
    </tr>
  </thead>

  <tbody>
    <tr><td>`metrics_asset_tokens.app_tvl_daily`</td><td>`app_tvl`</td><td>Value of the deployment deposited into onchain apps -- lending markets, DEX pools and vaults</td></tr>
    <tr><td>`metrics_asset_tokens.app_trading_volume_daily`</td><td>`app_trading_volume`</td><td>Value of spot trades involving the deployment on onchain venues -- DEX pools and onchain order books -- USD, all venues together</td></tr>
    <tr><td>`metrics_asset_tokens.market_cap_circulating_daily`</td><td>`market_cap_circulating`</td><td>Circulating market cap of the deployment, native or bridged.</td></tr>
    <tr><td>`metrics_asset_tokens.market_cap_circulating_native_daily`</td><td>`market_cap_circulating_native`</td><td>Circulating market cap of the deployment; natively-issued deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.market_cap_circulating_bridged_daily`</td><td>`market_cap_circulating_bridged`</td><td>Circulating market cap of the deployment; bridged deployments only, wrapped representations of supply issued elsewhere.</td></tr>
    <tr><td>`metrics_asset_tokens.holders_daily`</td><td>`holders`</td><td>Addresses holding a non-zero balance of the deployment, native or bridged.</td></tr>
    <tr><td>`metrics_asset_tokens.holders_native_daily`</td><td>`holders_native`</td><td>Addresses holding a non-zero balance of the deployment; natively-issued deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.holders_bridged_daily`</td><td>`holders_bridged`</td><td>Addresses holding a non-zero balance of the deployment; bridged deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.mints_daily`</td><td>`mints`</td><td>Value minted (issued) on the deployment, native or bridged.</td></tr>
    <tr><td>`metrics_asset_tokens.mints_native_daily`</td><td>`mints_native`</td><td>Value minted (issued) on the deployment; natively-issued deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.mints_bridged_daily`</td><td>`mints_bridged`</td><td>Value minted (issued) on the deployment; bridged deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.redemptions_daily`</td><td>`redemptions`</td><td>Value redeemed (burned) on the deployment, native or bridged.</td></tr>
    <tr><td>`metrics_asset_tokens.redemptions_native_daily`</td><td>`redemptions_native`</td><td>Value redeemed (burned) on the deployment; natively-issued deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.redemptions_bridged_daily`</td><td>`redemptions_bridged`</td><td>Value redeemed (burned) on the deployment; bridged deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.transfer_count_daily`</td><td>`transfer_count`</td><td>Transfers on the deployment, native or bridged.</td></tr>
    <tr><td>`metrics_asset_tokens.transfer_count_native_daily`</td><td>`transfer_count_native`</td><td>Transfers on the deployment; natively-issued deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.transfer_count_bridged_daily`</td><td>`transfer_count_bridged`</td><td>Transfers on the deployment; bridged deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.transfer_volume_daily`</td><td>`transfer_volume`</td><td>Value transferred on the deployment, native or bridged.</td></tr>
    <tr><td>`metrics_asset_tokens.transfer_volume_native_daily`</td><td>`transfer_volume_native`</td><td>Value transferred on the deployment; natively-issued deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.transfer_volume_bridged_daily`</td><td>`transfer_volume_bridged`</td><td>Value transferred on the deployment; bridged deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.daily_active_users_native_daily`</td><td>`daily_active_users_native`</td><td>Distinct addresses sending the deployment's token on the day; natively-issued deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.daily_active_users_bridged_daily`</td><td>`daily_active_users_bridged`</td><td>Distinct addresses sending the deployment's token on the day; bridged deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.weekly_active_users_native_daily`</td><td>`weekly_active_users_native`</td><td>Distinct addresses sending the deployment's token in the trailing 7 days; natively-issued deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.weekly_active_users_bridged_daily`</td><td>`weekly_active_users_bridged`</td><td>Distinct addresses sending the deployment's token in the trailing 7 days; bridged deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.monthly_active_users_native_daily`</td><td>`monthly_active_users_native`</td><td>Distinct addresses sending the deployment's token in the trailing 30 days; natively-issued deployments only.</td></tr>
    <tr><td>`metrics_asset_tokens.monthly_active_users_bridged_daily`</td><td>`monthly_active_users_bridged`</td><td>Distinct addresses sending the deployment's token in the trailing 30 days; bridged deployments only.</td></tr>
  </tbody>
</table>

## Sample queries

**Supply and peg together**

Each measure is its own table, so a row with both is a join on `asset_id` and `timestamp`, bounded on each side. `off_peg` reads as a decimal fraction of the peg measured against the peg currency's end-of-day rate, so `-0.02` is two percent below.

```sql theme={null}
with supply as (
    select timestamp, market_cap_circulating_native
    from `metrics_assets.market_cap_circulating_native_daily`
    where asset_id = 'usdt'
      and timestamp >= timestamp('2026-06-01')
),

peg as (
    select timestamp, off_peg
    from `metrics_assets.off_peg_daily`
    where asset_id = 'usdt'
      and timestamp >= timestamp('2026-06-01')
)

select
    timestamp,
    supply.market_cap_circulating_native,
    peg.off_peg
from supply
full join peg
    using (timestamp)
order by timestamp
```

**Stablecoins by supply**

`dimensions.assets` has `asset_type`, so the stablecoin filter is a join to it.

```sql theme={null}
select
    assets.symbol,
    daily.market_cap_circulating_native
from `metrics_assets.market_cap_circulating_native_daily` as daily
join `dimensions.assets` as assets
    using (asset_id)
where daily.timestamp = timestamp('2026-08-01')
  and assets.asset_type = 'stablecoin'
order by daily.market_cap_circulating_native desc
limit 25
```

**One stablecoin by chain**

The deployment tables key on `asset_token_id`, and `dimensions.asset_tokens` has the chain and the issuance status behind that key.

```sql theme={null}
select
    deployments.chain_id,
    deployments.bridged_status,
    daily.market_cap_circulating
from `metrics_asset_tokens.market_cap_circulating_daily` as daily
join `dimensions.asset_tokens` as deployments
    using (asset_token_id)
where daily.timestamp = timestamp('2026-08-01')
  and deployments.asset_id = 'usdc'
order by daily.market_cap_circulating desc
```

**Native against bridged**

Native and bridged supply are separate measures in separate tables, and the product total is the native column added up. A bridged row has supply with an empty `mints`, because a wrapper arrives by bridge.

```sql theme={null}
with deployments as (
    select asset_token_id, chain_id, token_address, bridged_status
    from `dimensions.asset_tokens`
    where asset_id = 'eurc'
),

native as (
    select asset_token_id, market_cap_circulating_native
    from `metrics_asset_tokens.market_cap_circulating_native_daily`
    where timestamp = timestamp('2026-08-01')
),

bridged as (
    select asset_token_id, market_cap_circulating_bridged
    from `metrics_asset_tokens.market_cap_circulating_bridged_daily`
    where timestamp = timestamp('2026-08-01')
),

mints as (
    select asset_token_id, mints
    from `metrics_asset_tokens.mints_daily`
    where timestamp = timestamp('2026-08-01')
),

redemptions as (
    select asset_token_id, redemptions
    from `metrics_asset_tokens.redemptions_daily`
    where timestamp = timestamp('2026-08-01')
)

select
    deployments.chain_id,
    deployments.token_address,
    deployments.bridged_status,
    native.market_cap_circulating_native,
    bridged.market_cap_circulating_bridged,
    mints.mints,
    redemptions.redemptions
from deployments
left join native
    using (asset_token_id)
left join bridged
    using (asset_token_id)
left join mints
    using (asset_token_id)
left join redemptions
    using (asset_token_id)
order by native.market_cap_circulating_native desc
```

**Stablecoin against its deployments**

Circulating supply is the one measure where the two grains can differ. Supply an issuer reports off-chain sits in the stablecoin row and in `metrics_assets.market_cap_circulating_offchain_daily`, and accounts for the difference.

```sql theme={null}
with deployment_sum as (
    select
        tokens.asset_id,
        daily.timestamp,
        sum(daily.market_cap_circulating_native) as summed
    from `metrics_asset_tokens.market_cap_circulating_native_daily` as daily
    join `dimensions.asset_tokens` as tokens
        using (asset_token_id)
    where tokens.asset_id = 'usdt'
      and daily.timestamp >= timestamp('2026-08-01')
    group by tokens.asset_id, daily.timestamp
),

asset_level as (
    select asset_id, timestamp, market_cap_circulating_native
    from `metrics_assets.market_cap_circulating_native_daily`
    where asset_id = 'usdt'
      and timestamp >= timestamp('2026-08-01')
)

select
    timestamp,
    asset_level.market_cap_circulating_native as stablecoin_grain,
    deployment_sum.summed as deployment_grain
from asset_level
left join deployment_sum
    using (asset_id, timestamp)
order by timestamp
```

**Peg deviation across the sector**

Some stablecoins take their price from the peg rate itself, marked `price_source = 'peg'` on `metrics_assets.price_daily`, and their `off_peg` is zero by construction. Joining that table filters them out of a ranking by tightest peg.

```sql theme={null}
select
    assets.symbol,
    assets.peg_currency,
    peg.off_peg
from `metrics_assets.off_peg_daily` as peg
join `metrics_assets.price_daily` as prices
    using (asset_id, timestamp)
join `dimensions.assets` as assets
    using (asset_id)
where peg.timestamp = timestamp('2026-08-01')
  and assets.asset_type = 'stablecoin'
  and prices.price_source != 'peg'
order by abs(peg.off_peg) desc
limit 25
```


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