What’s inside
| Field group | Examples |
|---|---|
| Identity | chainId, poolAddress, dex, pairType (v2/v3/v4/CLMM/StableSwap) |
| Tokens | token0, token1, decimals0, decimals1, reserve0, reserve1 |
| Economics | tvlUsd, volume24hUsd, feeTierBps, apy7d |
| State | priceToken0InToken1, sqrtPriceX96, tick, liquidity |
| Provenance | createdAtBlock, factoryAddress, initCodeHash |
Coverage & freshness
- Pool creations detected at block-level; state fields update on every swap, add or remove event (typically seconds).
- Historical TVL and volume series aggregated at 1h and 1d granularities.
Access
REST
/v2/dexpools/{chain}/{poolAddress}, /v2/dexpools/{chain}/{poolAddress}/snapshots.GraphQL
Join pools with tokens and trades in one query.
WebSocket
dex-pool-balance:{chain}_{poolAddress} for live pool liquidity; pool creation events are consumed from Kafka {chain}.dex.pools. SDK: client.stream.subscribeDexPoolBalance.Kafka
{chain}.dex.pools, {chain}.dex.pools.processed topics per chain.Common use cases
- Build an “all-pools” screener with TVL / volume filters
- Detect brand-new pools for snipe / launch alerts
- Monitor specific pool depth before submitting a swap
- Drive a routing layer that requires up-to-date reserves
Billing
Per-pool lookups: 1 read unit. Search and list calls scale withlimit.
Next
Trades
The trade stream that flows through these pools.
Candles (OHLC)
Pool-level OHLC if you want bars instead of state snapshots.

