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

# Apps

> Daily Trading volume, TVL, Fees and Revenue for each tracked app, broken out to Optimism.

An app is one deployed version of a protocol that a project runs, such as `uniswap-v3`. The project level sits on [Projects](https://tokenterminal.com/docs/catalog/chain-verticals/evm/optimism/projects.md).

* `metrics_apps_by_chain`: one table per measure, one row per app per chain per day.

An app's figure on Optimism for one day rolls into its project's figure on the Projects page, worked out once and served at both levels. An app's chain rows for one day sum to what `metrics_apps` serves without the chain breakout, so use these tables when the chain breakdown is the question.

An app's activity has a finer table beneath it: a DEX's volume breaks down pool by pool on [DEX](https://tokenterminal.com/docs/catalog/chain-verticals/evm/optimism/dex.md), and bridge volume breaks down transfer by transfer on [Bridges](https://tokenterminal.com/docs/catalog/chain-verticals/evm/optimism/bridges.md). Start with the daily figures and drop down when the question needs the detail.

Every column is documented at [Apps ▸ Metrics](https://tokenterminal.com/docs/catalog/apps/metrics.md).

## Sample queries

> [tab] Apps on Optimism
>
> **Rank the apps active on Optimism by trading volume over one week.**
>
> ```sql theme={null}
> select
>     apps.name,
>     sum(daily.trading_volume) as trading_volume
> from `metrics_apps_by_chain.trading_volume_daily` as daily
> join `dimensions.apps` as apps
>     using (app_id)
> where daily.timestamp >= timestamp('2026-08-16')
>   and daily.timestamp < timestamp('2026-08-23')
>   and daily.chain_id = 'optimism'
> group by apps.name
> order by trading_volume desc
> ```

> [tab] Optimism's share
>
> **Work out how much of one app runs on Optimism.** Dropping the chain filter and grouping by chain turns the same table into a comparison across every chain the app runs on.
>
> ```sql theme={null}
> with by_chain as (
>     select
>         chain_id,
>         sum(trading_volume) as trading_volume
>     from `metrics_apps_by_chain.trading_volume_daily`
>     where timestamp >= timestamp('2026-08-16')
>       and timestamp < timestamp('2026-08-23')
>       and app_id = 'uniswap-v3'
>     group by chain_id
> )
>
> select
>     chain_id,
>     trading_volume,
>     trading_volume / sum(trading_volume) over () as share
> from by_chain
> order by trading_volume desc
> limit 20
> ```


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