Overview
- Dataset ID:
0301 - Tables:
blockdb_evm.b0301_liquidity_pools_reserves_v1— Time-series of pool reserve/state snapshots; one row per pool per lineage event.blockdb_evm.b0301_liquidity_pools_reserves_details_v1— Locator-level liquidity/tick/bin detail keyed to each snapshot.
- Foreign Key (snapshot):
pool_uid→blockdb_evm.b0211_liquidity_pools_v1(pool_uid) - API: POST /evm/reserves
Snapshot Table Columns (blockdb_evm.b0301_liquidity_pools_reserves_v1)
| Column | Type | Description |
|---|---|---|
id | BIGINT | Surrogate primary key for the snapshot. |
pool_uid | BYTEA | Foreign key to blockdb_evm.b0211_liquidity_pools_v1.pool_uid for the pool in question. |
exchange_id | INTEGER | Exchange/DEX identifier. |
type_id | INTEGER | Pool type identifier. |
block_number | BIGINT | Block height when this state was observed. |
block_time | TIMESTAMPTZ | UTC timestamp of the block. |
tx_index | INTEGER | Transaction index within the block. |
log_index | INTEGER | Log index within the transaction. |
reserves | NUMERIC(78,0)[] | Array of current reserves (per token) for even-style pools, raw units. |
current_tick | INTEGER | Current tick for concentrated-liquidity pools (e.g., Uniswap v3). |
current_sqrt_price | NUMERIC(49,0) | Q64.96 sqrt price as integer; decode via (value / 2^96)^2 for mid-price (adjust for decimals). |
current_bin | INTEGER | Current bin id for bin-based AMMs (e.g., TraderJoe v2*). |
_tracing_id | BYTEA | BlockDB lineage identifier. |
_parent_tracing_ids | BYTEA[] | Tracing identifiers for upstream derived records. |
_created_at | TIMESTAMPTZ | Record creation timestamp. |
_updated_at | TIMESTAMPTZ | Record last update timestamp. |
Constraints: Each snapshot enforcespool_uid, block_number, tx_index, log_indexuniqueness. A payload check ensures at least one ofreserves,current_tick,current_binis present.
Details Table Columns (blockdb_evm.b0301_liquidity_pools_reserves_details_v1)
| Column | Type | Description |
|---|---|---|
snapshot_id | BIGINT | Foreign key to blockdb_evm.b0301_liquidity_pools_reserves_v1.id; cascades on delete. |
pool_uid | BYTEA | Denormalized for fast filters/joins. |
tick | INTEGER | Single-tick locator for concentrated liquidity pools (e.g., Uniswap v3). |
lower_tick | INTEGER | Lower bound for range-style liquidity slices. |
upper_tick | INTEGER | Upper bound for range-style liquidity slices. |
bin_id | INTEGER | Bin identifier for bin-based AMMs (e.g., TraderJoe). |
liquidity | NUMERIC(38,0) | Engine-native packed liquidity metric (e.g., Uniswap v3 L). |
amount0 | NUMERIC(78,0) | Token0 amount at the locator (decimals-adjusted). |
amount1 | NUMERIC(78,0) | Token1 amount at the locator (decimals-adjusted). |
Constraints: Each detail row must include a locator (tick,bin_id, or bothlower_tick/upper_tick) and a payload (liquidity,amount0, oramount1). Uniqueness constraints enforce one tick/bin/range per snapshot.
Use Cases
- Backtesting and AI modeling with verifiable pool states
- Market-structure analytics and liquidity regime detection
- Monitoring dashboards for protocol health, volatility, and liquidity shifts
- Price, TVL, and slippage calculations across pools and chains
- Routing and arbitrage research (depth, fee tiers, fragmentation)