Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.blockdb.io/llms.txt

Use this file to discover all available pages before exploring further.

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-like PairCreated / 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: Non-address pools (e.g. some V4-style identifiers) use different discovery rules.
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

ColumnTypeDescription
pool_uidBYTEAStable surrogate key derived from address or pool_id (used across datasets).
exchange_idINTEGERExchange identifier (e.g., 1 for Uniswap, 2 for Sushiswap, etc.).
type_idINTEGERPool type identifier (e.g. 201 for Uniswap V2, 301 for Uniswap V3).
block_numberBIGINTBlock number where pool was first recognized/derived.
block_timeTIMESTAMPTZUTC timestamp for the block that produced this record.
tx_indexINTEGERZero-based transaction index within the block.
log_indexINTEGERZero-based log index within the transaction.
factoryBYTEAFactory/pool-manager contract address.
tokensBYTEA[]Array of token addresses that compose the pool, ordered as stored on-chain.
contract_idBYTEAIncarnation ID for v2/v3 pools: 20B address + 4B creation block (BE) + 2B tx_index (BE). NULL for v4-style pools.
contract_addressBYTEA20B address for v2/v3-style pools (nullable for id-only v4).
pool_idBYTEA32B identifier for v4-style pools (nullable for v2/v3).
pairnumNUMERIC(6)Internal index representing the slot/order of the token pair within the pool.
asset_managersBYTEA[]Optional array of asset manager addresses for Balancer-style custodial pools.
ampNUMERIC(6)Amplification coefficient for stable or hybrid pools (NULL for constant product pools).
weightsNUMERIC(6,5)[]Array of normalized token weights for weighted pools (e.g., Balancer).
tick_spacingSMALLINTTick spacing parameter for concentrated liquidity pools.
_tracing_idBYTEABlockDB lineage identifier that links this record to lineage APIs.
_parent_tracing_idsBYTEA[]Tracing identifiers for upstream derived records referenced during computation.
_created_atTIMESTAMPTZRecord creation timestamp.
_updated_atTIMESTAMPTZRecord last update timestamp.

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

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.
Last modified on May 12, 2026