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

> TVL, Fees, Revenue, Token incentives, Active users and sector-specific volume per project and per project on one chain.

TVL, fees, revenue, expenses, earnings and active users. One row per thing per day, at two grains: project, and project and chain.

## Tables

> [!NOTE]
>
> Daily DEX pool trading volume, Hyperliquid trading contributions and bridge transfer volumes cover closed UTC days and follow the availability cutoff of each contributing chain.

**Project**

One row per project per day. Everything the project runs, combined: gas from its chains and trading fees from its apps arrive added into one fee figure.

<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_projects.tvl_daily`</td>
      <td>`tvl`</td>
      <td>Value locked in the project's contracts at day end, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects.trading_volume_daily`</td>
      <td>`trading_volume`</td>
      <td>Cash value of the trades that took place, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects.active_loans_daily`</td>
      <td>`active_loans`</td>
      <td>Value of loans outstanding at day end, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects.assets_staked_daily`</td>
      <td>`assets_staked`</td>
      <td>Value staked at day end, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects.fees_daily`</td>
      <td>`fees`</td>
      <td>Total fees users paid, in USD. Chain gas plus app trading fees.</td>
    </tr>

    <tr>
      <td>`metrics_projects.fees_supply_side_daily`</td>
      <td>`fees_supply_side`</td>
      <td>The part of those fees the project passed on to the supply side, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects.revenue_daily`</td>
      <td>`revenue`</td>
      <td>Fees the project kept, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects.token_incentives_daily`</td>
      <td>`token_incentives`</td>
      <td>Value of the project's own token paid out as rewards, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects.expenses_daily`</td>
      <td>`expenses`</td>
      <td>What the project spent, in USD: cost of revenue, token incentives and operating expenses, wherever each is reported onchain.</td>
    </tr>

    <tr>
      <td>`metrics_projects.earnings_daily`</td>
      <td>`earnings`</td>
      <td>What the project kept after costs, in USD. Goes negative when a project pays out more than it retains.</td>
    </tr>

    <tr>
      <td>`metrics_projects.treasury_daily`</td>
      <td>`treasury`</td>
      <td>Value the project held at day end, in USD, its own token included.</td>
    </tr>

    <tr>
      <td>`metrics_projects.treasury_net_daily`</td>
      <td>`treasury_net`</td>
      <td>Value the project held at day end excluding its own token, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects.outstanding_supply_daily`</td>
      <td>`outstanding_supply`</td>
      <td>Stablecoin supply issued by the project and outstanding today, in USD. Stablecoin issuers only.</td>
    </tr>

    <tr>
      <td>`metrics_projects.bridged_supply_daily`</td>
      <td>`bridged_supply`</td>
      <td>USD value of the project's stablecoins held outside the chain they were issued on.</td>
    </tr>

    <tr>
      <td>`metrics_projects.buybacks_daily`</td>
      <td>`buybacks`</td>
      <td>USD value of the project's own tokens repurchased from the market.</td>
    </tr>

    <tr>
      <td>`metrics_projects.bridge_deposits_daily`</td>
      <td>`bridge_deposits`</td>
      <td>USD value of assets held in the project's bridge contracts on the main chain.</td>
    </tr>

    <tr>
      <td>`metrics_projects.transaction_volume_daily`</td>
      <td>`transaction_volume`</td>
      <td>USD value of transactions processed by the project.</td>
    </tr>

    <tr>
      <td>`metrics_projects.open_interest_daily`</td>
      <td>`open_interest`</td>
      <td>USD notional value of all open positions on the project's derivatives markets.</td>
    </tr>

    <tr>
      <td>`metrics_projects.trade_count_daily`</td>
      <td>`trade_count`</td>
      <td>Number of trades executed.</td>
    </tr>

    <tr>
      <td>`metrics_projects.cost_of_revenue_daily`</td>
      <td>`cost_of_revenue`</td>
      <td>Direct supply-side cost of revenue.</td>
    </tr>

    <tr>
      <td>`metrics_projects.capital_deployed_daily`</td>
      <td>`capital_deployed`</td>
      <td>USD value of user deposits an asset manager has allocated into investments.</td>
    </tr>

    <tr>
      <td>`metrics_projects.flash_loan_volume_daily`</td>
      <td>`flash_loan_volume`</td>
      <td>Total flash loan volume.</td>
    </tr>

    <tr>
      <td>`metrics_projects.operating_expenses_daily`</td>
      <td>`operating_expenses`</td>
      <td>Onchain operating expenses, excluding token incentives.</td>
    </tr>

    <tr>
      <td>`metrics_projects.liquidation_volume_daily`</td>
      <td>`liquidation_volume`</td>
      <td>USD value of debt covered in liquidations.</td>
    </tr>

    <tr>
      <td>`metrics_projects.tradeable_pair_count_daily`</td>
      <td>`tradeable_pair_count`</td>
      <td>Number of token pairs available for trading on the exchange.</td>
    </tr>

    <tr>
      <td>`metrics_projects.tradeable_asset_count_daily`</td>
      <td>`tradeable_asset_count`</td>
      <td>Number of tokens tradeable on the exchange.</td>
    </tr>

    <tr>
      <td>`metrics_projects.monthly_active_developers_daily`</td>
      <td>`monthly_active_developers`</td>
      <td>Number of active developers.</td>
    </tr>

    <tr>
      <td>`metrics_projects.code_commit_count_daily`</td>
      <td>`code_commit_count`</td>
      <td>Commits to public repositories.</td>
    </tr>

    <tr>
      <td>`metrics_projects.price_daily`</td>
      <td>`price`</td>
      <td>Project token price in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects.market_cap_circulating_daily`</td>
      <td>`market_cap_circulating`</td>
      <td>Market cap on circulating supply.</td>
    </tr>

    <tr>
      <td>`metrics_projects.market_cap_fully_diluted_daily`</td>
      <td>`market_cap_fully_diluted`</td>
      <td>Market cap on maximum supply.</td>
    </tr>

    <tr>
      <td>`metrics_projects.staking_market_cap_daily`</td>
      <td>`staking_market_cap`</td>
      <td>USD value of the native token staked to secure the chains the project operates, summed across them.</td>
    </tr>

    <tr>
      <td>`metrics_projects.token_supply_circulating_daily`</td>
      <td>`token_supply_circulating`</td>
      <td>Circulating token supply.</td>
    </tr>

    <tr>
      <td>`metrics_projects.token_supply_maximum_daily`</td>
      <td>`token_supply_maximum`</td>
      <td>Maximum token supply.</td>
    </tr>

    <tr>
      <td>`metrics_projects.token_trading_volume_daily`</td>
      <td>`token_trading_volume`</td>
      <td>Trading volume of the project's own token.</td>
    </tr>

    <tr>
      <td>`metrics_projects.token_holders_daily`</td>
      <td>`token_holders`</td>
      <td>Addresses holding the project's token.</td>
    </tr>

    <tr>
      <td>`metrics_projects.daily_active_addresses_daily`</td>
      <td>`daily_active_addresses`</td>
      <td>Distinct addresses transacting with the project's contracts per day.</td>
    </tr>

    <tr>
      <td>`metrics_projects.weekly_active_addresses_daily`</td>
      <td>`weekly_active_addresses`</td>
      <td>Distinct addresses transacting with the project's contracts over a rolling 7 days.</td>
    </tr>

    <tr>
      <td>`metrics_projects.monthly_active_addresses_daily`</td>
      <td>`monthly_active_addresses`</td>
      <td>Distinct addresses transacting with the project's contracts over a rolling 30 days.</td>
    </tr>

    <tr>
      <td>`metrics_projects.transaction_count_contracts_daily`</td>
      <td>`transaction_count_contracts`</td>
      <td>Transactions calling the project's contracts.</td>
    </tr>

    <tr>
      <td>`metrics_projects.gas_used_daily`</td>
      <td>`gas_used`</td>
      <td>Gas consumed by transactions calling the project's contracts.</td>
    </tr>

    <tr>
      <td>`metrics_projects.fees_per_daily_active_user_daily`</td>
      <td>`fees_per_daily_active_user`</td>
      <td>Average fees per user.</td>
    </tr>

    <tr>
      <td>`metrics_projects.revenue_per_daily_active_user_daily`</td>
      <td>`revenue_per_daily_active_user`</td>
      <td>Average revenue per user.</td>
    </tr>

    <tr>
      <td>`metrics_projects.gross_profit_daily`</td>
      <td>`gross_profit`</td>
      <td>Revenue minus cost of revenue.</td>
    </tr>

    <tr>
      <td>`metrics_projects.liquidity_turnover_daily`</td>
      <td>`liquidity_turnover`</td>
      <td>Trading volume relative to liquidity.</td>
    </tr>

    <tr>
      <td>`metrics_projects.trade_size_average_daily`</td>
      <td>`trade_size_average`</td>
      <td>Average trading volume per trade.</td>
    </tr>

    <tr>
      <td>`metrics_projects.trading_volume_per_daily_active_user_daily`</td>
      <td>`trading_volume_per_daily_active_user`</td>
      <td>Average trading volume per user.</td>
    </tr>

    <tr>
      <td>`metrics_projects.price_to_fees_fully_diluted_daily`</td>
      <td>`price_to_fees_fully_diluted`</td>
      <td>Fully diluted market cap over annualized fees (trailing 30d run-rate).</td>
    </tr>

    <tr>
      <td>`metrics_projects.price_to_fees_circulating_daily`</td>
      <td>`price_to_fees_circulating`</td>
      <td>Circulating market cap over annualized fees (trailing 30d run-rate).</td>
    </tr>

    <tr>
      <td>`metrics_projects.price_to_revenue_fully_diluted_daily`</td>
      <td>`price_to_revenue_fully_diluted`</td>
      <td>Fully diluted market cap over annualized revenue (trailing 30d run-rate).</td>
    </tr>

    <tr>
      <td>`metrics_projects.price_to_revenue_circulating_daily`</td>
      <td>`price_to_revenue_circulating`</td>
      <td>Circulating market cap over annualized revenue (trailing 30d run-rate).</td>
    </tr>

    <tr>
      <td>`metrics_projects.take_rate_daily`</td>
      <td>`take_rate`</td>
      <td>Share of fees the project retains as revenue.</td>
    </tr>

    <tr>
      <td>`metrics_projects.token_turnover_fully_diluted_daily`</td>
      <td>`token_turnover_fully_diluted`</td>
      <td>Token trading volume over fully diluted market cap.</td>
    </tr>

    <tr>
      <td>`metrics_projects.token_turnover_circulating_daily`</td>
      <td>`token_turnover_circulating`</td>
      <td>Token trading volume over circulating market cap.</td>
    </tr>

    <tr>
      <td>`metrics_projects.daily_active_users_daily`</td>
      <td>`daily_active_users`</td>
      <td>Distinct addresses that used the project that day. A HyperLogLog estimate, not a sum of the daily series.</td>
    </tr>

    <tr>
      <td>`metrics_projects.weekly_active_users_daily`</td>
      <td>`weekly_active_users`</td>
      <td>Distinct addresses that used the project in the trailing 7 days. A HyperLogLog estimate.</td>
    </tr>

    <tr>
      <td>`metrics_projects.monthly_active_users_daily`</td>
      <td>`monthly_active_users`</td>
      <td>Distinct addresses that used the project in the trailing 30 days. A HyperLogLog estimate.</td>
    </tr>
  </tbody>
</table>

**Project × chain**

One row per project and chain per day. A chain's own numbers meet the project that runs it there.

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

  <tbody>
    <tr>
      <td>`metrics_projects_by_chain.tvl_daily`</td>
      <td>`tvl`</td>
      <td>Value locked in the project's contracts on the chain at day end, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.trading_volume_daily`</td>
      <td>`trading_volume`</td>
      <td>Cash value of the trades that took place on the chain, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.active_loans_daily`</td>
      <td>`active_loans`</td>
      <td>Value of loans outstanding on the chain at day end, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.assets_staked_daily`</td>
      <td>`assets_staked`</td>
      <td>Value staked on the chain at day end, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.fees_daily`</td>
      <td>`fees`</td>
      <td>Total fees users paid on the chain, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.fees_supply_side_daily`</td>
      <td>`fees_supply_side`</td>
      <td>The part of those fees the project passed on to the supply side on the chain, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.revenue_daily`</td>
      <td>`revenue`</td>
      <td>Fees the project kept on the chain, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.token_incentives_daily`</td>
      <td>`token_incentives`</td>
      <td>Value of the project's own token paid out as rewards on the chain, in USD.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.outstanding_supply_daily`</td>
      <td>`outstanding_supply`</td>
      <td>Stablecoin supply issued by the project and outstanding on the chain today, in USD. Stablecoin issuers only.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.bridged_supply_daily`</td>
      <td>`bridged_supply`</td>
      <td>USD value of the project's stablecoins held outside the chain they were issued on.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.buybacks_daily`</td>
      <td>`buybacks`</td>
      <td>USD value of the project's own tokens repurchased from the market.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.bridge_deposits_daily`</td>
      <td>`bridge_deposits`</td>
      <td>USD value of assets held in the project's bridge contracts on the main chain.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.transaction_volume_daily`</td>
      <td>`transaction_volume`</td>
      <td>USD value of transactions processed by the project.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.open_interest_daily`</td>
      <td>`open_interest`</td>
      <td>USD notional value of all open positions on the project's derivatives markets.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.trade_count_daily`</td>
      <td>`trade_count`</td>
      <td>Number of trades executed.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.cost_of_revenue_daily`</td>
      <td>`cost_of_revenue`</td>
      <td>Direct supply-side cost of revenue.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.capital_deployed_daily`</td>
      <td>`capital_deployed`</td>
      <td>USD value of user deposits an asset manager has allocated into investments.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.flash_loan_volume_daily`</td>
      <td>`flash_loan_volume`</td>
      <td>Total flash loan volume.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.expenses_daily`</td>
      <td>`expenses`</td>
      <td>What the project spent on the chain, in USD: cost of revenue, token incentives and operating expenses.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.operating_expenses_daily`</td>
      <td>`operating_expenses`</td>
      <td>Onchain operating expenses, excluding token incentives.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.liquidation_volume_daily`</td>
      <td>`liquidation_volume`</td>
      <td>USD value of debt covered in liquidations.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.tradeable_pair_count_daily`</td>
      <td>`tradeable_pair_count`</td>
      <td>Number of token pairs available for trading on the exchange.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.tradeable_asset_count_daily`</td>
      <td>`tradeable_asset_count`</td>
      <td>Number of tokens tradeable on the exchange.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.daily_active_users_daily`</td>
      <td>`daily_active_users`</td>
      <td>Distinct addresses that used the project on the chain that day. A HyperLogLog estimate.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.weekly_active_users_daily`</td>
      <td>`weekly_active_users`</td>
      <td>Distinct addresses that used the project on the chain in the trailing 7 days. A HyperLogLog estimate.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.monthly_active_users_daily`</td>
      <td>`monthly_active_users`</td>
      <td>Distinct addresses that used the project on the chain in the trailing 30 days. A HyperLogLog estimate.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.daily_active_addresses_daily`</td>
      <td>`daily_active_addresses`</td>
      <td>Distinct addresses transacting with the project's contracts per day, on one chain.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.weekly_active_addresses_daily`</td>
      <td>`weekly_active_addresses`</td>
      <td>Distinct addresses transacting with the project's contracts over a rolling 7 days, on one chain.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.monthly_active_addresses_daily`</td>
      <td>`monthly_active_addresses`</td>
      <td>Distinct addresses transacting with the project's contracts over a rolling 30 days, on one chain.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.transaction_count_contracts_daily`</td>
      <td>`transaction_count_contracts`</td>
      <td>Transactions calling the project's contracts, on one chain.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.gas_used_daily`</td>
      <td>`gas_used`</td>
      <td>Gas consumed by transactions calling the project's contracts, on one chain.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.token_holders_daily`</td>
      <td>`token_holders`</td>
      <td>Addresses holding the project's token, on one chain.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.treasury_daily`</td>
      <td>`treasury`</td>
      <td>Value the project held at day end, in USD, its own token included, on one chain.</td>
    </tr>

    <tr>
      <td>`metrics_projects_by_chain.treasury_net_daily`</td>
      <td>`treasury_net`</td>
      <td>Value the project held at day end excluding its own token, in USD, on one chain.</td>
    </tr>
  </tbody>
</table>

## Sample queries

**Project**

Each measure is its own table, so a row with all three is a join on `project_id` and `timestamp`. Bound the day range on every side, or the unbounded side reads its whole table.

```sql theme={null}
with fees as (
    select timestamp, fees
    from `metrics_projects.fees_daily`
    where project_id = 'hyperliquid'
      and timestamp >= timestamp('2026-06-01')
),

revenue as (
    select timestamp, revenue
    from `metrics_projects.revenue_daily`
    where project_id = 'hyperliquid'
      and timestamp >= timestamp('2026-06-01')
),

tvl as (
    select timestamp, tvl
    from `metrics_projects.tvl_daily`
    where project_id = 'hyperliquid'
      and timestamp >= timestamp('2026-06-01')
)

select
    timestamp,
    fees.fees,
    revenue.revenue,
    tvl.tvl
from fees
full join revenue
    using (timestamp)
full join tvl
    using (timestamp)
order by timestamp
```

**Project × chain**

A project's chain rows add back to its project row for the same day, where the measure adds up at all.

```sql theme={null}
select
    chain_id,
    fees
from `metrics_projects_by_chain.fees_daily`
where project_id = 'hyperliquid'
  and timestamp = timestamp('2026-08-01')
order by fees desc
```

**Balance rollup**

`tvl` is a value standing at day end, and its rule in `dimensions.metrics` reads `over_time = 'last_value'`: the week's figure is the last day's value. The second column adds seven day-end balances and counts the same locked value seven times, so only one of these is a TVL.

```sql theme={null}
select
    array_agg(tvl order by timestamp desc limit 1)[offset(0)] as tvl,
    sum(tvl) as tvl_summed
from `metrics_projects.tvl_daily`
where project_id = 'aave'
  and timestamp >= timestamp('2026-08-01')
  and timestamp < timestamp('2026-08-08')
```

**Sector total**

Group on `primary_market_sector`, where every project appears exactly once. `market_sectors` holds every market sector of a project, so unnesting it in the from clause counts a project once per sector.

```sql theme={null}
select
    projects.primary_market_sector,
    sum(daily.fees) as fees
from `metrics_projects.fees_daily` as daily
join `dimensions.projects` as projects
    using (project_id)
where daily.timestamp = timestamp('2026-08-01')
group by projects.primary_market_sector
order by fees desc
```


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