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

# Prices

> One USD price per token and per curated asset, per day.

A price is one USD figure at one moment, held at two grains. Token prices are the rows of [`metrics.tokens_prices_daily`](/docs/catalog/tokens/prices) and `metrics.tokens_prices_hourly`, one per token contract on one chain. Asset prices are the `price` column on [`metrics.assets_daily`](/docs/catalog/assets/metrics), one per curated asset, which belongs to the asset rather than to any single deployment.

Every column is documented at [Tokens ▸ Prices](/docs/catalog/tokens/prices) and [Assets ▸ Metrics](/docs/catalog/assets/metrics).

## Sample queries

<Warning>
  The hourly table holds twenty-four rows per token per day. Bound `timestamp` in every query against it, and prefer the daily table when joining to other daily tables.
</Warning>

<Tabs>
  <Tab title="One asset, every chain">
    **Read one asset's daily price on every chain it is deployed on.** `dimensions.asset_tokens` names the deployments, and the token table carries a price per deployment.

    ```sql theme={null}
    select
        prices.timestamp,
        deployments.chain_id,
        prices.price
    from `metrics.tokens_prices_daily` as prices
    join `dimensions.asset_tokens` as deployments
        using (token_id)
    where deployments.asset_id = 'usdc'
      and prices.timestamp >= timestamp('2026-07-01')
    order by prices.timestamp, deployments.chain_id
    ```
  </Tab>

  <Tab title="Asset against deployment">
    **Compare an asset's own price with the price of one deployment.** The asset price belongs to the asset; the token price belongs to one contract on one chain.

    ```sql theme={null}
    select
        assets.timestamp,
        assets.price as asset_price,
        tokens.price as token_price
    from `metrics.assets_daily` as assets
    join `metrics.tokens_prices_daily` as tokens
        on tokens.timestamp = assets.timestamp
        and tokens.token_id = '0xdac17f958d2ee523a2206206994597c13d831ec7-ethereum'
    where assets.asset_id = 'usdt'
      and assets.timestamp >= timestamp('2026-07-01')
    order by assets.timestamp
    ```
  </Tab>

  <Tab title="Pricing an event">
    **Price a transfer at the hour it happened.** The hourly table matches an event to the top of its hour.

    ```sql theme={null}
    select
        transfers.block_timestamp,
        transfers.transaction_hash,
        cast(transfers.value_raw as bignumeric) / pow(10, tokens.decimals) * prices.price as amount_usd
    from `facts.token_transfers` as transfers
    join `dimensions.tokens` as tokens
        using (token_id)
    join `metrics.tokens_prices_hourly` as prices
        on prices.token_id = transfers.token_id
        and prices.timestamp = timestamp_trunc(transfers.block_timestamp, hour)
    where transfers.token_id = '0xdac17f958d2ee523a2206206994597c13d831ec7-ethereum'
      and transfers.block_timestamp >= timestamp('2026-08-20')
      and transfers.block_timestamp < timestamp('2026-08-21')
    order by amount_usd desc
    limit 20
    ```
  </Tab>
</Tabs>
