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

# Screener

> Every project's latest figures, with averages, totals and changes over six windows, in one row.

One row per project in `screeners.projects`, every figure as of `as_of`, the last complete day. Each measure has a column per window and aggregation, named `<measure>_<window>_<aggregation>`: `fees_30d_sum` is the fees of the 30 days ending on `as_of`, and `tvl_7d_change` is TVL on `as_of` against TVL seven days earlier.

## Columns

<Tabs>
  <Tab title="Keys">
    The two key columns, then one FLOAT64 column per measure, window and aggregation. Every row is a project in `dimensions.projects`, so the join on `project_id` always matches.

    <table>
      <thead>
        <tr>
          <th width="230">Column</th>
          <th width="130">Type</th>
          <th>Description</th>
        </tr>
      </thead>

      <tbody>
        <tr><td><code>as\_of</code></td><td>TIMESTAMP</td><td>The last complete day, the same on every row. Every window ends on it.</td></tr>
        <tr><td><code>project\_id</code></td><td>STRING</td><td>Project the row belongs to, such as <code>aave</code>; joins <code>dimensions.projects</code>.</td></tr>
      </tbody>
    </table>
  </Tab>

  <Tab title="Aggregations">
    A window is `1d`, `7d`, `30d`, `90d`, `180d` or `365d`, and spans that many days ending on `as_of`, while the `max_` columns read the whole history. Which aggregations a measure has follows its `over_time` in [Metric definitions](/docs/catalog/metric-definitions): only a measure whose `over_time` is `sum` has `sum`.

    <table>
      <thead>
        <tr>
          <th width="380">Column</th>
          <th>What it holds</th>
        </tr>
      </thead>

      <tbody>
        <tr><td><code>\<measure>\_\<window>\_avg</code></td><td>Mean of the daily values over the window.</td></tr>
        <tr><td><code>\<measure>\_\<window>\_sum</code></td><td>Total of the daily values over the window. Flows only: the measures ticked under Sum.</td></tr>
        <tr><td><code>\<measure>\_\<window>\_change</code></td><td>A comparison of two aggregations: the value on <code>as\_of</code> against the value one window earlier, as <code>(now - then) / abs(then)</code>. Null when either value is missing or the earlier one is 0.</td></tr>
        <tr><td><code>\<measure>\_\<window>\_trend</code></td><td>A comparison of two aggregations: the window's average against the average of the window before it, as <code>(avg - prior) / abs(prior)</code>. Null unless the window before has a value on every one of its days, and null when its average is 0.</td></tr>
        <tr><td><code>\<measure>\_max\_latest</code></td><td>The value on <code>as\_of</code>. Null when there is none.</td></tr>
        <tr><td><code>\<measure>\_max\_ath</code></td><td>The highest daily value over the project's whole history.</td></tr>
        <tr><td><code>\<measure>\_max\_atl</code></td><td>The lowest daily value over the project's whole history.</td></tr>
      </tbody>
    </table>
  </Tab>

  <Tab title="Measures">
    Every measure has the `avg`, `change`, `trend` and `max_` columns, and the flows also have `sum`. A distinct count such as `daily_active_users` or `token_holders` takes `avg`, never `sum`.

    <div class="tt-roster">
      <table class="tt-coverage">
        <thead>
          <tr>
            <th width="280">Measure</th>
            <th>Sum</th>
            <th class="tt-flex">What it holds</th>
          </tr>
        </thead>

        <tbody>
          <tr><td><code>daily\_active\_addresses</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Distinct addresses transacting with the project's contracts per day.</td></tr>
          <tr><td><code>monthly\_active\_addresses</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Distinct addresses transacting with the project's contracts over a rolling 30 days.</td></tr>
          <tr><td><code>weekly\_active\_addresses</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Distinct addresses transacting with the project's contracts over a rolling 7 days.</td></tr>
          <tr><td><code>monthly\_active\_developers</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Number of active developers.</td></tr>
          <tr><td><code>active\_loans</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Value of loans outstanding at day end, in USD.</td></tr>
          <tr><td><code>fees\_per\_daily\_active\_user</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Average fees per user.</td></tr>
          <tr><td><code>revenue\_per\_daily\_active\_user</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Average revenue per user.</td></tr>
          <tr><td><code>assets\_staked</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Value staked at day end, in USD.</td></tr>
          <tr><td><code>bridge\_deposits</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">USD value of assets held in the project's bridge contracts on the main chain.</td></tr>
          <tr><td><code>bridged\_supply</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">USD value of the project's stablecoins held outside the chain they were issued on.</td></tr>
          <tr><td><code>buybacks</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">USD value of the project's own tokens repurchased from the market.</td></tr>
          <tr><td><code>capital\_deployed</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">USD value of user deposits an asset manager has allocated into investments.</td></tr>
          <tr><td><code>code\_commit\_count</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Commits to public repositories.</td></tr>
          <tr><td><code>cost\_of\_revenue</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Direct supply-side cost of revenue.</td></tr>
          <tr><td><code>earnings</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">What the project kept after costs, in USD. Goes negative when a project pays out more than it retains.</td></tr>
          <tr><td><code>notional\_trading\_volume\_exchange</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Notional value of perpetual futures traded, attributed to the project whose matching engine settled the trade.</td></tr>
          <tr><td><code>expenses</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">What the project spent, in USD: cost of revenue, token incentives and operating expenses, wherever each is reported onchain.</td></tr>
          <tr><td><code>fees</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Total fees users paid, in USD. Chain gas plus app trading fees.</td></tr>
          <tr><td><code>fees\_supply\_side</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">The part of those fees the project passed on to the supply side, in USD.</td></tr>
          <tr><td><code>flash\_loan\_volume</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Total flash loan volume.</td></tr>
          <tr><td><code>gas\_used</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Gas consumed by transactions calling the project's contracts.</td></tr>
          <tr><td><code>gross\_profit</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Revenue minus cost of revenue.</td></tr>
          <tr><td><code>notional\_trading\_volume\_interface</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Notional value of perpetual futures traded, attributed to the project whose interface the trade was placed through.</td></tr>
          <tr><td><code>liquidation\_volume</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">USD value of debt covered in liquidations.</td></tr>
          <tr><td><code>liquidity\_turnover</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Trading volume relative to liquidity.</td></tr>
          <tr><td><code>market\_cap\_circulating</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Market cap on circulating supply.</td></tr>
          <tr><td><code>market\_cap\_fully\_diluted</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Market cap on maximum supply.</td></tr>
          <tr><td><code>open\_interest</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">USD notional value of all open positions on the project's derivatives markets.</td></tr>
          <tr><td><code>operating\_expenses</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Onchain operating expenses, excluding token incentives.</td></tr>
          <tr><td><code>outstanding\_supply</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Stablecoin supply issued by the project and outstanding today, in USD. Stablecoin issuers only.</td></tr>
          <tr><td><code>price\_to\_fees\_circulating</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Circulating market cap over annualized fees (trailing 30d run-rate).</td></tr>
          <tr><td><code>price\_to\_fees\_fully\_diluted</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Fully diluted market cap over annualized fees (trailing 30d run-rate).</td></tr>
          <tr><td><code>price</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Project token price in USD.</td></tr>
          <tr><td><code>price\_to\_revenue\_circulating</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Circulating market cap over annualized revenue (trailing 30d run-rate).</td></tr>
          <tr><td><code>price\_to\_revenue\_fully\_diluted</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Fully diluted market cap over annualized revenue (trailing 30d run-rate).</td></tr>
          <tr><td><code>revenue</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Fees the project kept, in USD.</td></tr>
          <tr><td><code>staking\_market\_cap</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">USD value of the native token staked to secure the chains the project operates, summed across them.</td></tr>
          <tr><td><code>take\_rate</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Share of fees the project retains as revenue.</td></tr>
          <tr><td><code>token\_incentives</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Value of the project's own token paid out as rewards, in USD.</td></tr>
          <tr><td><code>token\_supply\_circulating</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Circulating token supply.</td></tr>
          <tr><td><code>token\_supply\_maximum</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Maximum token supply.</td></tr>
          <tr><td><code>token\_trading\_volume</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Trading volume of the project's own token.</td></tr>
          <tr><td><code>token\_turnover\_circulating</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Token trading volume over circulating market cap.</td></tr>
          <tr><td><code>token\_turnover\_fully\_diluted</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Token trading volume over fully diluted market cap.</td></tr>
          <tr><td><code>token\_holders</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Addresses holding the project's token.</td></tr>
          <tr><td><code>trade\_count</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Number of trades executed.</td></tr>
          <tr><td><code>tradeable\_asset\_count</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Number of tokens tradeable on the exchange.</td></tr>
          <tr><td><code>tradeable\_pair\_count</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Number of token pairs available for trading on the exchange.</td></tr>
          <tr><td><code>trading\_volume</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Cash value of the trades that took place, in USD.</td></tr>
          <tr><td><code>trade\_size\_average</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Average trading volume per trade.</td></tr>
          <tr><td><code>trading\_volume\_per\_daily\_active\_user</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Average trading volume per user.</td></tr>
          <tr><td><code>transaction\_count\_contracts</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">Transactions calling the project's contracts.</td></tr>
          <tr><td><code>transaction\_volume</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">USD value of transactions processed by the project.</td></tr>
          <tr><td><code>transfer\_volume</code></td><td><span class="tt-check">✓</span></td><td class="tt-flex">USD value of assets moved through the project's bridge transfers, counted once per transfer.</td></tr>
          <tr><td><code>treasury</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Value the project held at day end, in USD, its own token included.</td></tr>
          <tr><td><code>treasury\_net</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Value the project held at day end excluding its own token, in USD.</td></tr>
          <tr><td><code>tvl</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Value locked in the project's contracts at day end, in USD.</td></tr>
          <tr><td><code>daily\_active\_users</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Distinct addresses that used the project that day. A HyperLogLog estimate, not a sum of the daily series.</td></tr>
          <tr><td><code>monthly\_active\_users</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Distinct addresses that used the project in the trailing 30 days. A HyperLogLog estimate.</td></tr>
          <tr><td><code>weekly\_active\_users</code></td><td><span class="tt-cross">✗</span></td><td class="tt-flex">Distinct addresses that used the project in the trailing 7 days. A HyperLogLog estimate.</td></tr>
        </tbody>
      </table>
    </div>
  </Tab>
</Tabs>

## Sample queries

<Tabs>
  <Tab title="One project">
    Every column of one row shares the same `as_of`, so the figures read together.

    ```sql theme={null}
    select
        as_of,
        tvl_max_latest,
        tvl_7d_change,
        fees_30d_sum,
        fees_30d_trend
    from `screeners.projects`
    where project_id = 'aave'
    ```
  </Tab>

  <Tab title="Top 25 by 30-day fees">
    `fees_30d_sum` is the total of the 30 days ending on `as_of`. The join to `dimensions.projects` on `project_id` adds the name.

    ```sql theme={null}
    select
        projects.name,
        screener.fees_30d_sum,
        screener.revenue_30d_sum,
        screener.fees_30d_trend
    from `screeners.projects` as screener
    join `dimensions.projects` as projects
        using (project_id)
    where screener.fees_30d_sum is not null
    order by screener.fees_30d_sum desc
    limit 25
    ```
  </Tab>

  <Tab title="Biggest 7-day TVL moves">
    `tvl_7d_change` compares TVL on `as_of` with TVL seven days earlier, as a fraction. The TVL floor keeps a small base from dominating the ranking.

    ```sql theme={null}
    select
        projects.name,
        screener.tvl_max_latest,
        screener.tvl_7d_change
    from `screeners.projects` as screener
    join `dimensions.projects` as projects
        using (project_id)
    where screener.tvl_max_latest > 10000000
      and screener.tvl_7d_change is not null
    order by abs(screener.tvl_7d_change) desc
    limit 25
    ```
  </Tab>

  <Tab title="Market cap against yearly revenue">
    `revenue_365d_sum` is the revenue of the 365 days ending on `as_of`, and `market_cap_circulating_max_latest` the latest circulating market cap. Their ratio is a price-to-sales multiple.

    ```sql theme={null}
    select
        projects.name,
        screener.market_cap_circulating_max_latest,
        screener.revenue_365d_sum,
        safe_divide(
            screener.market_cap_circulating_max_latest,
            screener.revenue_365d_sum
        ) as price_to_sales
    from `screeners.projects` as screener
    join `dimensions.projects` as projects
        using (project_id)
    where screener.revenue_365d_sum > 1000000
      and screener.market_cap_circulating_max_latest > 0
    order by price_to_sales
    limit 25
    ```
  </Tab>
</Tabs>


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