Skip to main content
dimensions.dex_pools holds one row per DEX pool, which is one place to swap tokens on one chain. It brings together the pools of every project we cover, read from the events that created them, so it lists every pool that has ever existed rather than only the ones still in use.

Columns

ColumnTypeDescription
dex_pool_idSTRINGIdentifier of the pool: the pool address joined with the chain.
deployment_idSTRINGThe operating appโ€™s deployment on the poolโ€™s chain.
protocol_idSTRINGThe app operating the pool, for example uniswap-v3.
chain_idSTRINGChain the pool lives on.
project_idSTRINGProject the operating app belongs to.
pool_addressSTRINGOnchain address of the pool. Where one contract holds every pool, this is the poolโ€™s id inside that contract.
pool_nameSTRINGThe poolโ€™s tokens as a name, for example USDC-WETH.
pool_display_nameSTRINGPool name with the fee added on, where the pool charges a fixed one.
fee_tierBIGNUMERICThe fee the pool charges on every swap, as a decimal fraction, so 0.0005 reads 0.05%. Empty where the venue sets the fee swap by swap.
created_atTIMESTAMPTime of the block the pool was created in.
hooks_addressSTRINGAddress of the poolโ€™s hooks contract, on venues that attach one. A hooks contract is extra code the venue runs around each swap.
token_idsARRAY<STRING>The tokens the pool holds, in pool order, as keys of dimensions.tokens.

Sample queries

Count pools by protocol version and chain. protocol_id names the app operating the pool and deployment_id names that appโ€™s deployment on the poolโ€™s chain.

Notes

A pool holds two or more tokens, and a pair is any two of them, so there is no separate table of pairs. A pool holding three tokens has three possible pairs, readable straight off token_ids. Keeping the tokens in a list is also what lets a pool hold more than two, which fixed token0 and token1 columns could not. Which of those pairs users traded is a separate question, and a matter of record rather than of membership. The pairs that traded and their volumes are on the daily pair table, keyed by dex_pair_id. fee_tier is filled in for Uniswap v2, where it is fixed at 0.30%, and for v3, where the pool sets it onchain. It is empty for every v4 pool, because a v4 poolโ€™s fee can be changed swap by swap by its hooks contract. For those pools, the fee a trade paid is fee_rate on Trades rather than anything on the pool. This table lists every pool, including ones that never traded and ones long abandoned.