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: 0301 - Liquidity Pool Reserves
Description: Retrieves the full tick-level liquidity distribution for a single concentrated-liquidity pool snapshot (Uniswap v3/v4-style). Amounts are computed on demand from the stored liquidity_values blob — no pre-aggregated detail table is queried.
CSV Sample: Download
JSON Sample: Download
Returns the full tick-level liquidity distribution for a single concentrated-liquidity pool snapshot
(Uniswap v3/v4-style). Amounts are computed on demand from the stored liquidity_values blob —
no pre-aggregated detail table is queried.
Key characteristics:
Returns one snapshot per call (the most recent within the requested block/time window)
Configurable price window: 1.0-10.0% symmetric band around the current price
Each tick row carries both raw (amount0_raw) and decimals-adjusted (amount0) amounts
Parameters
Target EVM network. See the Chain enumeration.
Pool Selector (exactly one required)
BlockDB 32-byte pool identifier (hex, no 0x).
Pool contract address (hex, 20 bytes, no 0x).
Protocol-specific pool ID, e.g. Uniswap V4 pool_id (hex, 32 bytes, no 0x).
Provide exactly one of pool_uid, pool_address, or pool_id. Providing more or fewer results in HTTP 400.
Snapshot Selector (exactly one required)
Direct snapshot key (hex, no 0x). When set, block/time range must not be provided.
Starting block number (inclusive). Use with to_block. The most recent snapshot within the range is returned.
Ending block number (inclusive). Use with from_block.
Starting timestamp (ISO-8601). Use with to_timestamp.
Ending timestamp (ISO-8601). Use with from_timestamp.
Price Window
Symmetric percent band around the current price tick, e.g. 5.0 = ±5%.
Must be between 1.0 and 10.0 inclusive. Values outside this range return HTTP 400.
Amounts
When true, each tick row includes amount0 and amount1 scaled by ERC-20 decimals.
Set to false to skip the decimals lookup.
Response Fields
Envelope
EVM chain ID echoed from the request.
Block/timestamp bounds echoed from the request.
Filters echoed from the request.
The single resolved snapshot.
Snapshot Fields
Block height of the snapshot.
Block timestamp (ISO-8601).
Transaction index within the block.
Log index within the transaction.
Pool tick spacing (e.g. 60 for a 0.3% Uniswap v3 pool).
Active tick at the time of the snapshot.
snapshot.current_sqrt_price
Q64.96 sqrt price as an integer string.
snapshot.price_window_percent
Echoed from the request.
snapshot.resolved_lower_tick
Actual lower bound of the tick range returned (aligned to tick spacing).
snapshot.resolved_upper_tick
Actual upper bound of the tick range returned.
Token0 contract address (hex, no 0x). Populated when pool metadata is available.
Token1 contract address (hex, no 0x). Populated when pool metadata is available.
ERC-20 decimals for token0. null when unavailable or include_adjusted_amounts is false.
ERC-20 decimals for token1. null when unavailable or include_adjusted_amounts is false.
Ordered array of tick rows within the resolved range. Only ticks with non-zero liquidity are included.
Lineage hash for the snapshot row.
Tick Row Fields (snapshot.ticks[])
Lower tick of this liquidity position (same as lower_tick).
snapshot.ticks[].lower_tick
Lower bound of the tick interval.
snapshot.ticks[].upper_tick
Upper bound of the tick interval (lower_tick + tick_spacing).
snapshot.ticks[].liquidity
Uniswap v3 liquidity value (L) for this tick as an integer string.
snapshot.ticks[].amount0_raw
Token0 amount at this tick in base units (integer string, no decimals applied).
Token0 amount divided by 10^token0_decimals.
null when decimals are unavailable or include_adjusted_amounts is false.
snapshot.ticks[].amount1_raw
Token1 amount at this tick in base units (integer string, no decimals applied).
Token1 amount divided by 10^token1_decimals.
null when decimals are unavailable or include_adjusted_amounts is false.
cURL — ±5% window
Python
Node.js
.NET
curl -X POST "https://api.blockdb.io/v1/evm/reserves/liquidity-distribution" \
-H "Authorization: Bearer $BLOCKDB_API_KEY " \
-H "Content-Type: application/json" \
-d '{
"chain_id": 1,
"pool_uid": "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000",
"from_block": 20000000,
"to_block": 20001000,
"price_window_percent": 5.0,
"include_adjusted_amounts": true
}'
{
"chain_id" : 1 ,
"request_window" : {
"from_block" : 20000000 ,
"to_block" : 20001000 ,
"from_timestamp" : null ,
"to_timestamp" : null
},
"filters" : {
"pool_uid" : "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000" ,
"pool_address" : null ,
"pool_id" : null ,
"tracing_id" : null ,
"price_window_percent" : 5.0 ,
"include_adjusted_amounts" : true
},
"snapshot" : {
"pool_uid" : "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000" ,
"exchange_id" : 1 ,
"type_id" : 301 ,
"block_number" : 20000842 ,
"block_time" : "2025-11-11T18:42:15.123Z" ,
"tx_index" : 12 ,
"log_index" : 3 ,
"tick_spacing" : 60 ,
"current_tick" : 210130 ,
"current_sqrt_price" : "14614467034852101032872730522039888223787" ,
"price_window_percent" : 5.0 ,
"resolved_lower_tick" : 209580 ,
"resolved_upper_tick" : 210660 ,
"token0_address" : "c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" ,
"token1_address" : "a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" ,
"token0_decimals" : 18 ,
"token1_decimals" : 6 ,
"ticks" : [
{
"tick" : 210060 ,
"lower_tick" : 210060 ,
"upper_tick" : 210120 ,
"liquidity" : "5823941670000000000000000000" ,
"amount0_raw" : "1000000000000000000" ,
"amount0" : "1.0" ,
"amount1_raw" : "2500000000" ,
"amount1" : "2500.0"
},
{
"tick" : 210120 ,
"lower_tick" : 210120 ,
"upper_tick" : 210180 ,
"liquidity" : "9104823200000000000000000000" ,
"amount0_raw" : "840000000000000000" ,
"amount0" : "0.84" ,
"amount1_raw" : "1890000000" ,
"amount1" : "1890.0"
},
"..."
],
"_tracing_id" : "0301000000000000000000000000000000000002"
}
}