Skip to main content
POST

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
For even-distribution pools (Uniswap v2, Balancer, etc.) use POST /v1/evm/reserves.

Parameters

number
required
Target EVM network. See the Chain enumeration.

Pool Selector (exactly one required)

string
BlockDB 32-byte pool identifier (hex, no 0x). For address-based pools, the 20-byte contract_address left-padded with 12 zero bytes (24 hex chars).
string
Pool contract address (hex, 20 bytes, no 0x).
string
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)

string
Direct snapshot key (18-byte hex, exactly 36 characters, no 0x). When set, block/time range must not be provided.
number
Starting block number (inclusive). Use with to_block. The most recent snapshot within the range is returned.
number
Ending block number (inclusive). Use with from_block.
string
Starting timestamp (ISO-8601). Use with to_timestamp.
string
Ending timestamp (ISO-8601). Use with from_timestamp.

Price Window

number
required
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

boolean
default:"false"
Off by default. When set to true, each tick row includes amount0 and amount1 scaled by ERC-20 decimals. Enabling it adds a per-request ERC-20 decimals lookup (extra join) that increases latency, so it is opt-in; when omitted or false, amount0/amount1 are null and only the always-present amount0_raw/amount1_raw fields are populated.

Response Fields

Envelope

number
EVM chain ID echoed from the request.
object
Block/timestamp bounds echoed from the request.
object
Filters echoed from the request.
object
The single resolved snapshot.

Snapshot Fields

string
BlockDB pool identifier (32-byte hex, no 0x; address-based pools are left-padded).
number
Exchange identifier.
number
Pool type identifier.
number
Block height of the snapshot.
string
Block timestamp (ISO-8601).
number
Transaction index within the block.
number
Log index within the transaction.
number
Pool tick spacing (e.g. 60 for a 0.3% Uniswap v3 pool).
number
Active tick at the time of the snapshot.
string
Q64.96 sqrt price as an integer string.
number
Echoed from the request.
number
Actual lower bound of the tick range returned (aligned to tick spacing).
number
Actual upper bound of the tick range returned.
string | null
Token0 contract address (hex, no 0x). Populated when pool metadata is available.
string | null
Token1 contract address (hex, no 0x). Populated when pool metadata is available.
number | null
ERC-20 decimals for token0. null when unavailable or include_adjusted_amounts is false.
number | null
ERC-20 decimals for token1. null when unavailable or include_adjusted_amounts is false.
object[]
Ordered array of tick rows within the resolved range. Only ticks with non-zero liquidity are included.
string
Lineage hash for the snapshot row (18-byte hex, exactly 36 characters, no 0x prefix).

Tick Row Fields (snapshot.ticks[])

number
Lower tick of this liquidity position (same as lower_tick).
number
Lower bound of the tick interval.
number
Upper bound of the tick interval (lower_tick + tick_spacing).
string
Uniswap v3 liquidity value (L) for this tick as an integer string.
string
Token0 amount at this tick in base units (integer string, no decimals applied).
string | null
Token0 amount divided by 10^token0_decimals. null when decimals are unavailable or include_adjusted_amounts is false.
string
Token1 amount at this tick in base units (integer string, no decimals applied).
string | null
Token1 amount divided by 10^token1_decimals. null when decimals are unavailable or include_adjusted_amounts is false.
Last modified on July 19, 2026