Skip to main content
The DEX Pools data product gives you the state of every liquidity pool ChainStream indexes — from classic Uniswap-v2 constant-product pools to concentrated-liquidity v3/v4 pools, Solana AMMs and more — with normalized fields.

What’s inside

Field groupExamples
IdentitychainId, poolAddress, dex, pairType (v2/v3/v4/CLMM/StableSwap)
Tokenstoken0, token1, decimals0, decimals1, reserve0, reserve1
EconomicstvlUsd, volume24hUsd, feeTierBps, apy7d
StatepriceToken0InToken1, sqrtPriceX96, tick, liquidity
ProvenancecreatedAtBlock, 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 with limit.

Next

Trades

The trade stream that flows through these pools.

Candles (OHLC)

Pool-level OHLC if you want bars instead of state snapshots.