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

# Metrics

> Daily asset tables: supply, holders, transfers, price, yield and the gap from peg.

Two tables hold the daily asset numbers. `metrics.assets_daily` has one row per asset per day. `metrics.asset_tokens_daily` has one row per deployment per day. A deployment is one token contract on one chain, so USDC gets one row a day in the first table and one row a day for each chain it is issued on in the second.

* `metrics.assets_daily`: one row per asset per day.
* `metrics.asset_tokens_daily`: one row per deployment per day, breaking the same measures down by chain.

Supply of USDC is a question about the asset. Supply of USDC on Base is a question about one deployment. Where a measure is one you can add up, the asset row equals its deployment rows added together, with one deliberate exception explained below.

Each table is assembled from one source table per measure, so an empty cell means we have no figure for that measure on that day. It does not mean zero.

Several measures are labelled *agentic*. Those count payments made under the x402 standard, which lets software pay for something without a person in the loop. They are a subset of ordinary transfer activity, not a separate kind of it.

## Tables

<Tabs>
  <Tab title="Asset">
    One row per `(asset_id, timestamp)`. Price, yield and the gap from peg live here, because they belong to the asset itself rather than to any single contract. Everything else on the row is the asset's deployments added together.

    <table>
      <thead>
        <tr>
          <th width="220">Column</th>
          <th width="110">Type</th>
          <th>Description</th>
        </tr>
      </thead>

      <tbody>
        <tr><td><code>timestamp</code></td><td><code>TIMESTAMP</code></td><td>Day of the row. The partition column.</td></tr>
        <tr><td><code>asset\_id</code></td><td><code>STRING</code></td><td>Asset the row describes. Joins <code>dimensions.assets</code>.</td></tr>
        <tr><td><code>symbol</code></td><td><code>STRING</code></td><td>Ticker symbol of the asset.</td></tr>
        <tr><td><code>asset\_type</code></td><td><code>STRING</code></td><td>Classification of the asset.</td></tr>
        <tr><td><code>price</code></td><td><code>FLOAT64</code></td><td>The asset's price in USD, one figure per asset per day. Where more than one source has a price, we take them in a fixed order of preference.</td></tr>
        <tr><td><code>price\_source</code></td><td><code>STRING</code></td><td>Where the day's price came from. It labels <code>price</code> rather than being a measure of its own.</td></tr>
        <tr><td><code>agentic\_user\_dau</code></td><td><code>INT64</code></td><td>Distinct addresses making agentic (x402) payments in the asset on the day, across every deployment. The asset table carries no native or bridged split of this figure.</td></tr>
        <tr><td><code>agentic\_user\_mau</code></td><td><code>INT64</code></td><td>Distinct addresses making agentic (x402) payments in the asset over the trailing month, across every deployment.</td></tr>
        <tr><td><code>agentic\_user\_wau</code></td><td><code>INT64</code></td><td>Distinct addresses making agentic (x402) payments in the asset over the trailing week, across every deployment.</td></tr>
        <tr><td><code>apy</code></td><td><code>FLOAT64</code></td><td>The asset's yield over the past year, written as a fraction: <code>0.05</code> means five percent. Measured once per asset per day, and never added up.</td></tr>
        <tr><td><code>holders\_bridged</code></td><td><code>INT64</code></td><td>Addresses holding a non-zero balance, summed across the asset's bridged deployments.</td></tr>
        <tr><td><code>holders\_native</code></td><td><code>INT64</code></td><td>Addresses holding a non-zero balance, summed across the asset's natively-issued deployments.</td></tr>
        <tr><td><code>market\_cap\_circulating\_bridged</code></td><td><code>FLOAT64</code></td><td>Circulating market cap of the asset's bridged deployments, USD. A bridged deployment is a wrapper standing in for supply issued natively on another chain.</td></tr>
        <tr><td><code>market\_cap\_circulating\_native</code></td><td><code>FLOAT64</code></td><td>Circulating market cap of the asset's natively-issued supply, USD. This is the measure that answers how much of the asset exists. It includes anything the issuer reports as held off-chain.</td></tr>
        <tr><td><code>market\_cap\_circulating\_offchain</code></td><td><code>FLOAT64</code></td><td>The part of circulating market cap an issuer reports as held off-chain, USD. Part of the native figure, published on its own as well. Only issuers who report one appear here; the rest are empty.</td></tr>
        <tr><td><code>market\_cap\_circulating\_total</code></td><td><code>FLOAT64</code></td><td>Circulating market cap across every form of the asset, USD: native issuance plus bridged wrappers. Counts tokens outstanding rather than economic value.</td></tr>
        <tr><td><code>mints\_bridged</code></td><td><code>FLOAT64</code></td><td>Value minted on the day, USD, summed across the asset's bridged deployments.</td></tr>
        <tr><td><code>mints\_native</code></td><td><code>FLOAT64</code></td><td>Value minted on the day, USD, summed across the asset's natively-issued deployments.</td></tr>
        <tr><td><code>mints\_total</code></td><td><code>FLOAT64</code></td><td>Value minted on the day, USD, summed across every deployment. A genuine total: minting on a bridged deployment is its own event, not a second view of a native one.</td></tr>
        <tr><td><code>off\_peg</code></td><td><code>FLOAT64</code></td><td>How far the asset's price sits from its peg, as a fraction: <code>(price - reference) / reference</code>. <code>-0.02</code> means two percent below peg.</td></tr>
        <tr><td><code>redemptions\_bridged</code></td><td><code>FLOAT64</code></td><td>Value redeemed on the day, USD, summed across the asset's bridged deployments.</td></tr>
        <tr><td><code>redemptions\_native</code></td><td><code>FLOAT64</code></td><td>Value redeemed on the day, USD, summed across the asset's natively-issued deployments.</td></tr>
        <tr><td><code>redemptions\_total</code></td><td><code>FLOAT64</code></td><td>Value redeemed on the day, USD, summed across every deployment. A genuine total.</td></tr>
        <tr><td><code>transfer\_count\_agentic\_bridged</code></td><td><code>FLOAT64</code></td><td>Number of agentic (x402) transfers on the day, summed across the asset's bridged deployments.</td></tr>
        <tr><td><code>transfer\_count\_agentic\_native</code></td><td><code>FLOAT64</code></td><td>Number of agentic (x402) transfers on the day, summed across the asset's natively-issued deployments.</td></tr>
        <tr><td><code>transfer\_count\_agentic\_total</code></td><td><code>FLOAT64</code></td><td>Number of agentic (x402) transfers on the day, summed across every deployment. A genuine total.</td></tr>
        <tr><td><code>transfer\_count\_bridged</code></td><td><code>FLOAT64</code></td><td>Number of transfers on the day, summed across the asset's bridged deployments.</td></tr>
        <tr><td><code>transfer\_count\_native</code></td><td><code>FLOAT64</code></td><td>Number of transfers on the day, summed across the asset's natively-issued deployments.</td></tr>
        <tr><td><code>transfer\_count\_total</code></td><td><code>FLOAT64</code></td><td>Number of transfers on the day, summed across every deployment. A genuine total.</td></tr>
        <tr><td><code>transfer\_volume\_agentic\_bridged</code></td><td><code>FLOAT64</code></td><td>Value transferred by agentic (x402) flows on the day, USD, summed across the asset's bridged deployments.</td></tr>
        <tr><td><code>transfer\_volume\_agentic\_native</code></td><td><code>FLOAT64</code></td><td>Value transferred by agentic (x402) flows on the day, USD, summed across the asset's natively-issued deployments.</td></tr>
        <tr><td><code>transfer\_volume\_agentic\_total</code></td><td><code>FLOAT64</code></td><td>Value transferred by agentic (x402) flows on the day, USD, summed across every deployment. A genuine total.</td></tr>
        <tr><td><code>transfer\_volume\_bridged</code></td><td><code>FLOAT64</code></td><td>Value transferred on the day, USD, summed across the asset's bridged deployments.</td></tr>
        <tr><td><code>transfer\_volume\_native</code></td><td><code>FLOAT64</code></td><td>Value transferred on the day, USD, summed across the asset's natively-issued deployments.</td></tr>
        <tr><td><code>transfer\_volume\_total</code></td><td><code>FLOAT64</code></td><td>Value transferred on the day, USD, summed across every deployment. A genuine total.</td></tr>
        <tr><td><code>user\_dau</code></td><td><code>INT64</code></td><td>Distinct addresses sending the asset on the day, across every deployment. The asset table carries no native or bridged split of this figure.</td></tr>
        <tr><td><code>user\_mau</code></td><td><code>INT64</code></td><td>Distinct addresses sending the asset over the trailing month, across every deployment.</td></tr>
        <tr><td><code>user\_wau</code></td><td><code>INT64</code></td><td>Distinct addresses sending the asset over the trailing week, across every deployment.</td></tr>
      </tbody>
    </table>
  </Tab>

  <Tab title="Deployment">
    One row per `(asset_token_id, timestamp)`: the breakdown by chain. Every deployment is either issued natively or bridged in from elsewhere, never both, so each row fills in either the `_native` columns or the `_bridged` columns and leaves the other side empty.

    <table>
      <thead>
        <tr>
          <th width="220">Column</th>
          <th width="110">Type</th>
          <th>Description</th>
        </tr>
      </thead>

      <tbody>
        <tr><td><code>timestamp</code></td><td><code>TIMESTAMP</code></td><td>Day of the row. The partition column.</td></tr>
        <tr><td><code>asset\_token\_id</code></td><td><code>STRING</code></td><td>Deployment the row describes, formatted <code>\{asset\_id}-\{token\_address}-\{chain\_id}</code>. Joins <code>dimensions.asset\_tokens</code>.</td></tr>
        <tr><td><code>asset\_id</code></td><td><code>STRING</code></td><td>Asset the deployment belongs to.</td></tr>
        <tr><td><code>chain\_id</code></td><td><code>STRING</code></td><td>Chain the deployment lives on.</td></tr>
        <tr><td><code>token\_address</code></td><td><code>STRING</code></td><td>Address of the token contract.</td></tr>
        <tr><td><code>symbol</code></td><td><code>STRING</code></td><td>Ticker symbol of the asset.</td></tr>
        <tr><td><code>asset\_type</code></td><td><code>STRING</code></td><td>Classification of the asset.</td></tr>
        <tr><td><code>bridged\_status</code></td><td><code>STRING</code></td><td>How the deployment was issued: <code>native</code>, <code>bridged</code> or <code>unclassified</code>. It tells you which set of columns this row fills in.</td></tr>
        <tr><td><code>agentic\_user\_dau\_bridged</code></td><td><code>INT64</code></td><td>Distinct addresses making agentic (x402) payments in the deployment on the day. Populated on bridged deployments only.</td></tr>
        <tr><td><code>agentic\_user\_dau\_native</code></td><td><code>INT64</code></td><td>Distinct addresses making agentic (x402) payments in the deployment on the day. Populated on natively-issued deployments only.</td></tr>
        <tr><td><code>agentic\_user\_mau\_bridged</code></td><td><code>INT64</code></td><td>Distinct addresses making agentic (x402) payments in the deployment over the trailing month. Bridged deployments only.</td></tr>
        <tr><td><code>agentic\_user\_mau\_native</code></td><td><code>INT64</code></td><td>Distinct addresses making agentic (x402) payments in the deployment over the trailing month. Natively-issued deployments only.</td></tr>
        <tr><td><code>agentic\_user\_wau\_bridged</code></td><td><code>INT64</code></td><td>Distinct addresses making agentic (x402) payments in the deployment over the trailing week. Bridged deployments only.</td></tr>
        <tr><td><code>agentic\_user\_wau\_native</code></td><td><code>INT64</code></td><td>Distinct addresses making agentic (x402) payments in the deployment over the trailing week. Natively-issued deployments only.</td></tr>
        <tr><td><code>apy</code></td><td><code>FLOAT64</code></td><td>Yield over the past year, written as a fraction and kept within <code>(0, 0.50]</code>. Measured once per asset, on the deployment with the largest circulating market cap, then copied onto the asset's other deployments. Never added up.</td></tr>
        <tr><td><code>holders\_bridged</code></td><td><code>INT64</code></td><td>Addresses holding a non-zero balance of the deployment. Bridged deployments only.</td></tr>
        <tr><td><code>holders\_native</code></td><td><code>INT64</code></td><td>Addresses holding a non-zero balance of the deployment. Natively-issued deployments only.</td></tr>
        <tr><td><code>market\_cap\_circulating\_bridged</code></td><td><code>FLOAT64</code></td><td>Circulating market cap of the deployment, USD. Bridged deployments only.</td></tr>
        <tr><td><code>market\_cap\_circulating\_native</code></td><td><code>FLOAT64</code></td><td>Circulating market cap of the deployment, USD. Natively-issued deployments only.</td></tr>
        <tr><td><code>market\_cap\_circulating\_total</code></td><td><code>FLOAT64</code></td><td>Circulating market cap of the deployment, USD, whichever side it sits on. Not a sum: a deployment is one or the other, so this is simply its value.</td></tr>
        <tr><td><code>mints\_bridged</code></td><td><code>FLOAT64</code></td><td>Value minted on the deployment on the day, USD. Bridged deployments only.</td></tr>
        <tr><td><code>mints\_native</code></td><td><code>FLOAT64</code></td><td>Value minted on the deployment on the day, USD. Natively-issued deployments only.</td></tr>
        <tr><td><code>mints\_total</code></td><td><code>FLOAT64</code></td><td>Value minted on the deployment on the day, USD, whichever side it sits on.</td></tr>
        <tr><td><code>redemptions\_bridged</code></td><td><code>FLOAT64</code></td><td>Value redeemed on the deployment on the day, USD. Bridged deployments only.</td></tr>
        <tr><td><code>redemptions\_native</code></td><td><code>FLOAT64</code></td><td>Value redeemed on the deployment on the day, USD. Natively-issued deployments only.</td></tr>
        <tr><td><code>redemptions\_total</code></td><td><code>FLOAT64</code></td><td>Value redeemed on the deployment on the day, USD, whichever side it sits on.</td></tr>
        <tr><td><code>transfer\_count\_agentic\_bridged</code></td><td><code>FLOAT64</code></td><td>Number of agentic (x402) transfers on the deployment on the day. Bridged deployments only.</td></tr>
        <tr><td><code>transfer\_count\_agentic\_native</code></td><td><code>FLOAT64</code></td><td>Number of agentic (x402) transfers on the deployment on the day. Natively-issued deployments only.</td></tr>
        <tr><td><code>transfer\_count\_agentic\_total</code></td><td><code>FLOAT64</code></td><td>Number of agentic (x402) transfers on the deployment on the day, whichever side it sits on.</td></tr>
        <tr><td><code>transfer\_count\_bridged</code></td><td><code>FLOAT64</code></td><td>Number of transfers on the deployment on the day. Bridged deployments only.</td></tr>
        <tr><td><code>transfer\_count\_native</code></td><td><code>FLOAT64</code></td><td>Number of transfers on the deployment on the day. Natively-issued deployments only.</td></tr>
        <tr><td><code>transfer\_count\_total</code></td><td><code>FLOAT64</code></td><td>Number of transfers on the deployment on the day, whichever side it sits on.</td></tr>
        <tr><td><code>transfer\_volume\_agentic\_bridged</code></td><td><code>FLOAT64</code></td><td>Value transferred by agentic (x402) flows on the deployment on the day, USD. Bridged deployments only.</td></tr>
        <tr><td><code>transfer\_volume\_agentic\_native</code></td><td><code>FLOAT64</code></td><td>Value transferred by agentic (x402) flows on the deployment on the day, USD. Natively-issued deployments only.</td></tr>
        <tr><td><code>transfer\_volume\_agentic\_total</code></td><td><code>FLOAT64</code></td><td>Value transferred by agentic (x402) flows on the deployment on the day, USD, whichever side it sits on.</td></tr>
        <tr><td><code>transfer\_volume\_bridged</code></td><td><code>FLOAT64</code></td><td>Value transferred on the deployment on the day, USD. Bridged deployments only.</td></tr>
        <tr><td><code>transfer\_volume\_native</code></td><td><code>FLOAT64</code></td><td>Value transferred on the deployment on the day, USD. Natively-issued deployments only.</td></tr>
        <tr><td><code>transfer\_volume\_total</code></td><td><code>FLOAT64</code></td><td>Value transferred on the deployment on the day, USD, whichever side it sits on.</td></tr>
        <tr><td><code>user\_dau\_bridged</code></td><td><code>INT64</code></td><td>Distinct addresses sending the deployment on the day. Bridged deployments only.</td></tr>
        <tr><td><code>user\_dau\_native</code></td><td><code>INT64</code></td><td>Distinct addresses sending the deployment on the day. Natively-issued deployments only.</td></tr>
        <tr><td><code>user\_mau\_bridged</code></td><td><code>INT64</code></td><td>Distinct addresses sending the deployment over the trailing month. Bridged deployments only.</td></tr>
        <tr><td><code>user\_mau\_native</code></td><td><code>INT64</code></td><td>Distinct addresses sending the deployment over the trailing month. Natively-issued deployments only.</td></tr>
        <tr><td><code>user\_wau\_bridged</code></td><td><code>INT64</code></td><td>Distinct addresses sending the deployment over the trailing week. Bridged deployments only.</td></tr>
        <tr><td><code>user\_wau\_native</code></td><td><code>INT64</code></td><td>Distinct addresses sending the deployment over the trailing week. Natively-issued deployments only.</td></tr>
      </tbody>
    </table>
  </Tab>
</Tabs>

## Sample queries

<Tabs>
  <Tab title="Asset daily read">
    **Read one asset's daily supply, price, senders and peg deviation.**

    ```sql theme={null}
    select
        timestamp,
        price,
        market_cap_circulating_native,
        holders_native,
        user_dau,
        off_peg
    from `metrics.assets_daily`
    where asset_id = 'usdc'
      and timestamp >= timestamp('2026-06-01')
    order by timestamp
    ```
  </Tab>

  <Tab title="Tokenized stocks ranking">
    **Rank tokenized stocks by native circulating market cap on one day.**

    ```sql theme={null}
    select
        asset_id,
        symbol,
        market_cap_circulating_native,
        transfer_volume_native
    from `metrics.assets_daily`
    where asset_type = 'tokenized-stocks'
      and timestamp = timestamp('2026-08-01')
      and market_cap_circulating_native is not null
    order by market_cap_circulating_native desc
    limit 25
    ```
  </Tab>

  <Tab title="Deployment breakdown">
    **Break one asset's supply down by chain on one day.**

    ```sql theme={null}
    select
        chain_id,
        bridged_status,
        market_cap_circulating_native,
        market_cap_circulating_bridged,
        holders_native
    from `metrics.asset_tokens_daily`
    where asset_id = 'usdc'
      and timestamp = timestamp('2026-08-01')
    order by market_cap_circulating_total desc
    ```
  </Tab>

  <Tab title="One deployment's series">
    **Read one deployment's daily supply and transfer activity.**

    ```sql theme={null}
    select
        timestamp,
        market_cap_circulating_native,
        transfer_count_native,
        transfer_volume_native,
        user_dau_native
    from `metrics.asset_tokens_daily`
    where asset_token_id = 'usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-ethereum'
      and timestamp >= timestamp('2026-06-01')
    order by timestamp
    ```
  </Tab>
</Tabs>

## Notes

`market_cap_circulating_native` answers how much of an asset exists. `market_cap_circulating_total` adds the bridged wrappers on top, and answers how much of it is out there in some form. The total counts tokens outstanding rather than economic value, because a bridged wrapper is backed by native supply that the same figure already counts.

Never add the `_native` and `_bridged` columns together on an asset row. Doing that repeats the same double count by hand. In the deployment table a row is one or the other, so those two sets of columns never overlap and the question does not arise.

The native figure on an asset row is larger by design than its deployment rows added together. Some issuers report supply held off-chain that no token contract represents, and the asset row includes it. `market_cap_circulating_offchain` publishes that part on its own, on asset rows only, so the gap between the two tables is always explainable.

Transfer, mint and redemption totals carry no such caveat. A transfer on a bridged deployment is its own event, not a second view of a native one, so `transfer_count_total`, `transfer_volume_total`, `mints_total` and `redemptions_total` on an asset row are genuine totals.

`apy` is a rate, and rates cannot be added up. It is measured once per asset per day, on the deployment with the largest circulating market cap, and that single figure is copied onto the asset's other deployments. Every deployment row for an asset therefore carries the same value, so adding the column up simply multiplies the rate by the number of deployments.

`off_peg` says how far the price sits from the peg, as a fraction, so `-0.02` means two percent below.

The `user_*` and `agentic_user_*` measures on asset rows have no native or bridged split and no `_total` column. They count distinct addresses, worked out for the whole asset in one pass, and a count like that cannot be split apart again afterwards. Use the deployment table for a native-versus-bridged breakdown, and [Assets ▸ Senders](/docs/catalog/assets/senders) for any wider figure than these two tables publish.

An empty cell means we have no figure for that measure on that day. It is not a measured zero. How much is filled in varies a great deal from measure to measure, from the transfer measures down to the agentic ones. Filter on `is not null` before ranking, or a thinly covered measure will rank mostly gaps.
