Overview
- Dataset ID:
0211 - Table:
blockdb_evm.b0211_liquidity_pools_v1 - Description: Canonical list of pools; child time-series tables FK to blockdb_evm.b0211_liquidity_pools_v1(pool_uid).
- Primary key:
pool_uid - API: POST /evm/entities/pools
- CSV Sample: Download
- JSON Sample: Download
How we recognize Liquidity Pools
BlockDB builds the pool registry from factory-style events (e.g. Uniswap V2-likePairCreated / pool-creation topics) decoded from chain logs, scoped to known DEX factories in our exchange metadata.
Logs alone are not sufficient. The same pair address can appear in more than one PairCreated-style log over time—for example when a factory or router path re-references an existing pair without deploying a new contract. On-chain, a real new pool is introduced by a CREATE / CREATE2 in that transaction’s trace; a follow-up transaction may only show reads (e.g. STATICCALL to getPair) while still emitting a creation-shaped log. Treating every such log as a new pool would pollute the registry.
So for address-based pools we cross-check each candidate creation log against internal transactions for the same (block_number, transaction_index) - we require a successful internal create / create2 whose deployed address matches the pair/pool address from the log before we accept it as a new pool.
Example on Ethereum mainnet (Internal Traces tab) pool address 0x397FF1542f962076d0BFE58eA045FfA2d347ACa0:
- Real deploy: internal tx shows
createand the new pool contract0x9011586359ddfc2660fe5bcdf2b53f1d4238ab4f4f998bc79a8cd69aa7c9040d#internal - No deploy: internal txs show only calls like
staticcall(e.g.getPair) — nocreatematching the pair0xa3b1c46152f564a2c3f8a870833225360aad4c6a6feb27b1207e79349d59e55c#internal
Takeaway: we use pool-creation logs as the signal, and internal transaction traces as a sanity check when traces exist—because multiple creation-shaped logs can refer to one pool, and only the trace proves a new deployment in that transaction.
Sample Viewer
Columns
Use Cases
- Building the complete DEX pool registry for routing and analytics
- Filtering pools by fee, type, or token pair
- Integrating with reserves, price, and swap datasets for liquidity intelligence
- MEV routing, arbitrage path optimization, and chain-wide pool analytics
- Constructing pool-level AI or quantitative features
Related Datasets
Liquidity Pools Reserves
Per-block reserve snapshots for these pools.
Liquidity Pools Fee Terms
Dynamic fee configurations per pool.
Swap Fees
Per-swap fee revenue across these pools.