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

# Agentic payments

> Payments software makes without a person in the loop, by asset.

An agentic payment is a transfer made under the x402 standard, which lets software pay for something without a person in the loop. `transfer_count_agentic_total` counts those payments, and it is part of `transfer_count_total` for the same asset and day, so the two never add together.

## Coverage

Every issuer with agentic transfers, and the chains they happened on. One row per issuer.

<div class="tt-roster">
  <table class="tt-coverage">
    <thead>
      <tr>
        <th width="260">Issuer</th>
        <th class="tt-flex">Chains</th>
      </tr>
    </thead>

    <tbody>
      <tr><td><code>agora</code></td><td class="tt-flex"><code>polygon</code>, <code>solana</code></td></tr>
      <tr><td><code>circle</code></td><td class="tt-flex"><code>algorand</code>, <code>base</code>, <code>polygon</code>, <code>solana</code></td></tr>
      <tr><td><code>jpycoin</code></td><td class="tt-flex"><code>polygon</code></td></tr>
      <tr><td><code>phantom</code></td><td class="tt-flex"><code>solana</code></td></tr>
      <tr><td><code>stablecoin</code></td><td class="tt-flex"><code>base</code></td></tr>
      <tr><td><code>tether</code></td><td class="tt-flex"><code>polygon</code>, <code>solana</code></td></tr>
      <tr><td><code>worldlibertyfinancial</code></td><td class="tt-flex"><code>solana</code></td></tr>
    </tbody>
  </table>
</div>

## Tables

<Tabs>
  <Tab title="Asset">
    One row per asset per day. Each measure is its own table in `metrics_assets`, named for its value column plus `_daily`.

    <table>
      <thead>
        <tr>
          <th width="330">Column</th>
          <th width="120">Type</th>
          <th>Description</th>
        </tr>
      </thead>

      <tbody>
        <tr><td><code>timestamp</code></td><td>TIMESTAMP</td><td>Midnight UTC of the day measured.</td></tr>
        <tr><td><code>asset\_id</code></td><td>STRING</td><td>Identifier of the asset, for example <code>usdc</code>. Joins <code>dimensions.assets</code>.</td></tr>
        <tr><td><code>transfer\_count\_agentic\_native</code></td><td>FLOAT64</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\_bridged</code></td><td>FLOAT64</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\_total</code></td><td>FLOAT64</td><td>Number of agentic (x402) transfers on the day, summed across every deployment. A genuine total.</td></tr>
        <tr><td><code>transfer\_volume\_agentic\_native</code></td><td>FLOAT64</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\_bridged</code></td><td>FLOAT64</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\_total</code></td><td>FLOAT64</td><td>Value transferred by agentic (x402) flows on the day, USD, summed across every deployment. A genuine total.</td></tr>
        <tr><td><code>agentic\_user\_dau</code></td><td>INT64</td><td>Distinct addresses making agentic (x402) payments in the asset on the day, across every deployment.</td></tr>
        <tr><td><code>agentic\_user\_wau</code></td><td>INT64</td><td>Distinct addresses making agentic (x402) payments in the asset over the trailing week, across every deployment.</td></tr>
        <tr><td><code>agentic\_user\_mau</code></td><td>INT64</td><td>Distinct addresses making agentic (x402) payments in the asset over the trailing month, across every deployment.</td></tr>
      </tbody>
    </table>
  </Tab>

  <Tab title="Deployment">
    One row per deployment per day. Each measure is its own table in `metrics_asset_tokens`, named for its value column plus `_daily`.

    <table>
      <thead>
        <tr>
          <th width="330">Column</th>
          <th width="120">Type</th>
          <th>Description</th>
        </tr>
      </thead>

      <tbody>
        <tr><td><code>timestamp</code></td><td>TIMESTAMP</td><td>Midnight UTC of the day measured.</td></tr>
        <tr><td><code>asset\_token\_id</code></td><td>STRING</td><td>Identifier of the deployment, formatted <code>\{asset\_id}-\{token\_address}-\{chain\_id}</code>. Joins <code>dimensions.asset\_tokens</code>.</td></tr>
        <tr><td><code>transfer\_count\_agentic\_native</code></td><td>FLOAT64</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\_bridged</code></td><td>FLOAT64</td><td>Number of agentic (x402) transfers on the deployment on the day. Bridged deployments only.</td></tr>
        <tr><td><code>transfer\_count\_agentic\_total</code></td><td>FLOAT64</td><td>Number of agentic (x402) transfers on the deployment on the day, whichever side it sits on.</td></tr>
        <tr><td><code>transfer\_volume\_agentic\_native</code></td><td>FLOAT64</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\_bridged</code></td><td>FLOAT64</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\_total</code></td><td>FLOAT64</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>agentic\_user\_dau\_native</code></td><td>INT64</td><td>Distinct addresses making agentic (x402) payments in the deployment on the day. Natively-issued deployments only.</td></tr>
        <tr><td><code>agentic\_user\_dau\_bridged</code></td><td>INT64</td><td>Distinct addresses making agentic (x402) payments in the deployment on the day. Bridged deployments only.</td></tr>
        <tr><td><code>agentic\_user\_wau\_native</code></td><td>INT64</td><td>Distinct addresses making agentic (x402) payments in the deployment over the trailing week. Natively-issued deployments only.</td></tr>
        <tr><td><code>agentic\_user\_wau\_bridged</code></td><td>INT64</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\_mau\_native</code></td><td>INT64</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\_mau\_bridged</code></td><td>INT64</td><td>Distinct addresses making agentic (x402) payments in the deployment over the trailing month. Bridged deployments only.</td></tr>
      </tbody>
    </table>
  </Tab>
</Tabs>

## Sample queries

<Tabs>
  <Tab title="Assets by agentic payments">
    Each measure is its own table, so this joins three of them on `asset_id` at one `timestamp`. `transfer_count_total` is the denominator that turns the count into a share of the asset's activity.

    ```sql theme={null}
    with agentic as (
        select asset_id, transfer_count_agentic_total
        from `metrics_assets.transfer_count_agentic_total_daily`
        where timestamp = timestamp('2026-08-20')
          and transfer_count_agentic_total > 0
    ),

    volume as (
        select asset_id, transfer_volume_agentic_total
        from `metrics_assets.transfer_volume_agentic_total_daily`
        where timestamp = timestamp('2026-08-20')
    ),

    total as (
        select asset_id, transfer_count_total
        from `metrics_assets.transfer_count_total_daily`
        where timestamp = timestamp('2026-08-20')
    )

    select
        assets.name,
        assets.symbol,
        agentic.transfer_count_agentic_total,
        volume.transfer_volume_agentic_total,
        safe_divide(agentic.transfer_count_agentic_total, total.transfer_count_total) as agentic_share
    from agentic
    left join volume
        using (asset_id)
    left join total
        using (asset_id)
    join `dimensions.assets` as assets
        using (asset_id)
    order by agentic.transfer_count_agentic_total desc
    limit 25
    ```
  </Tab>

  <Tab title="One asset over time">
    A `full join` on `timestamp` keeps a day with payments but no payer count, and the reverse. Bound `timestamp` on every side: an unbounded side reads its whole table.

    ```sql theme={null}
    with payments as (
        select timestamp, transfer_count_agentic_total
        from `metrics_assets.transfer_count_agentic_total_daily`
        where asset_id = 'usdc'
          and timestamp >= timestamp('2026-06-01')
    ),

    payers as (
        select timestamp, agentic_user_dau
        from `metrics_assets.agentic_user_dau_daily`
        where asset_id = 'usdc'
          and timestamp >= timestamp('2026-06-01')
    ),

    payers_monthly as (
        select timestamp, agentic_user_mau
        from `metrics_assets.agentic_user_mau_daily`
        where asset_id = 'usdc'
          and timestamp >= timestamp('2026-06-01')
    )

    select
        timestamp,
        payments.transfer_count_agentic_total,
        payers.agentic_user_dau,
        payers_monthly.agentic_user_mau
    from payments
    full join payers
        using (timestamp)
    full join payers_monthly
        using (timestamp)
    order by timestamp
    ```
  </Tab>

  <Tab title="By chain">
    The deployment tables have `asset_token_id` alone, so the chain comes from `dimensions.asset_tokens`.

    ```sql theme={null}
    select
        daily.timestamp,
        deployments.chain_id,
        daily.transfer_count_agentic_total
    from `metrics_asset_tokens.transfer_count_agentic_total_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'
      and daily.transfer_count_agentic_total > 0
    order by daily.timestamp, daily.transfer_count_agentic_total desc
    ```
  </Tab>
</Tabs>
