Skip to main content
POST
https://api.blockdb.io
/
v1
/
evm
/
reserves
curl -X POST "https://api.blockdb.io/v1/evm/reserves" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "from_block": 12345678,
  "to_block": 12345999,
  "from_timestamp": "2025-10-29T00:00:00Z",
  "to_timestamp": "2025-11-11T00:00:00Z",
  "exchange_ids": [
    1,
    2
  ],
  "pool_uids": [
    "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000"
  ],
  "pool_addresses": [
    "1234567890abcdef1234567890abcdef12345678"
  ],
  "pool_ids": [
    "8aa4e11cbdf30eedc92100f4c8a31ff748e201d44712cc8c90d189edaa8e4e47"
  ],
  "pool_type_ids": [
    1,
    2,
    4
  ]
}'
{
  "chain_id": 1,
  "meta": {
    "request_window": {
      "from_block": 12345678,
      "to_block": 12345999,
      "from_timestamp": "2025-10-29T00:00:00Z",
      "to_timestamp": "2025-11-11T00:00:00Z"
    },
    "filters": {
      "exchange_ids": [
        1,
        2
      ],
      "pool_uids": [
        "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000"
      ],
      "pool_addresses": [
        "1234567890abcdef1234567890abcdef12345678"
      ],
      "pool_ids": [
        "1234"
      ],
      "pool_type_ids": [
        2
      ]
    }
  },
  "data": [
    {
      "pool_uid": "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000",
      "exchange_id": 1,
      "block_number": 18934567,
      "block_time": "2025-11-11T18:42:15.123Z",
      "tx_index": 4,
      "log_index": 2,
      "reserves": [
        "169649594140000000000000",
        "60446403492000000000"
      ],
      "current_tick": 210130,
      "current_sqrt_price": "14614467034852101032872730522039888223787",
      "current_bin": null,
      "details": [
        {
          "tick": 210130,
          "lower_tick": 210120,
          "upper_tick": 210140,
          "bin_id": null,
          "liquidity": "123456789000000000000000000000000",
          "amount0": "1000000000000000000",
          "amount1": "2500000000"
        },
        ...
      ],
      "_tracing_id": "0301000000000000000000000000000000000000",
      "_parent_tracing_ids": [
        "0203000000000000000000000000000000000000"
      ],
      "_genesis_tracing_ids": [
        "0103000000000000000000000000000000000000"
      ],
      "_created_at": "2025-11-11T18:42:15.123Z",
      "_updated_at": "2025-11-11T18:42:15.123Z"
    },
    ...
  ],
  "cursor": null,
  "count": 1
}

Description

Retrieves time-series snapshots of AMM pool reserves, covering both even-distribution (constant-product, weighted, stable) and concentrated/bin liquidity models.

Parameters

chain_id
number
required
Target EVM network. See the Chain enumeration for supported values.

Range Filters (mutually exclusive)

from_block
number
Starting block number (inclusive) for the query. Use with to_block.
to_block
number
Ending block number (inclusive) for the query. Use with from_block.
from_timestamp
string
Starting timestamp (ISO-8601). If it falls between blocks, the next block after this timestamp is used. Use with to_timestamp.
to_timestamp
string
Ending timestamp (ISO-8601). If it falls between blocks, the last block before this timestamp is used. Use with from_timestamp.
Validation rule:
You must provide either a block range, a time range, or at least one direct selector.
Providing more than one option results in HTTP 400.
Providing none results in HTTP 400.

Pool Selectors

exchange_ids
number[]
Filter snapshots by exchange IDs. See the DigitalExchange enumeration for supported values.
pool_uids
string[]
Filter by BlockDB pool identifiers (uid from /evm/pools).
pool_addresses
string[]
Filter by pool contract addresses (hex string, 20 bytes, no 0x prefix).
pool_ids
string[]
Filter by protocol-specific pool identifiers (e.g., Uniswap V4 pool_id).
pool_type_ids
number[]
Filter snapshots by pool archetype. See the PoolType enumeration for supported values.

Pagination Controls

limit
number
default:"250"
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
cursor
string
Pagination cursor from a prior call.

Response Fields

chain_id
number
EVM chain ID echoed at the response root.

Meta

meta
object
Echo of request metadata applied to the response.
meta.request_window
object
Block/timestamp bounds derived from the request.
meta.filters
object
Filters echoed from the request (e.g., exchange IDs, pool identifiers, pool types).

Data

data
object[]
Array of reserve snapshot objects.
data.pool_uid
string
BlockDB pool identifier (uid from /evm/pools).
data.exchange_id
number
Exchange identifier associated with the pool.
data.block_number
number
Block height where the reserve change was observed.
data.block_time
string
Block timestamp when the event occurred.
data.tx_index
number
Zero-based index of the parent transaction within the block.
data.log_index
number
Position of the log within the transaction.
data.reserves
string[]
Raw token reserves for even-liquidity pools (one entry per token, no decimals applied).
data.current_tick
number
Active tick for concentrated-liquidity pools (Uniswap v3/v4-style).
data.current_sqrt_price
string
Q64.96 sqrt price as an integer. Convert via sqrt_price / 2^96 to get sqrt(P); square and adjust for decimals to derive mid-price.
data.current_bin
number
Active bin for bin-based AMMs (e.g., TraderJoe v2).
data.details
object[]
Present when include_details = true. Each object conveys liquidity concentrated around a tick/bin/range.
data.details[].tick
number
Single tick locator for v3-style records.
data.details[].lower_tick
number
Lower bound of a tick range summary.
data.details[].upper_tick
number
Upper bound of a tick range summary.
data.details[].bin_id
number
Bin locator for bin-based pools.
data.details[].liquidity
string
Engine-native liquidity metric (e.g., Uniswap v3 L).
data.details[].amount0
string
Token0 amount at the locator (decimals-adjusted).
data.details[].amount1
string
Token1 amount at the locator (decimals-adjusted).
data._tracing_id
string
Row-level lineage hash for the snapshot.
data._parent_tracing_ids
string[]
Lineage references of immediate parents.
data._genesis_tracing_ids
string[]
Lineage references to original on-chain events.
data._created_at
string
Record creation timestamp.
data._updated_at
string
Record last update timestamp.

Envelope Fields

cursor
string | null
Cursor token for pagination.
count
number
Number of records returned in data.
curl -X POST "https://api.blockdb.io/v1/evm/reserves" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "from_block": 12345678,
  "to_block": 12345999,
  "from_timestamp": "2025-10-29T00:00:00Z",
  "to_timestamp": "2025-11-11T00:00:00Z",
  "exchange_ids": [
    1,
    2
  ],
  "pool_uids": [
    "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000"
  ],
  "pool_addresses": [
    "1234567890abcdef1234567890abcdef12345678"
  ],
  "pool_ids": [
    "8aa4e11cbdf30eedc92100f4c8a31ff748e201d44712cc8c90d189edaa8e4e47"
  ],
  "pool_type_ids": [
    1,
    2,
    4
  ]
}'
{
  "chain_id": 1,
  "meta": {
    "request_window": {
      "from_block": 12345678,
      "to_block": 12345999,
      "from_timestamp": "2025-10-29T00:00:00Z",
      "to_timestamp": "2025-11-11T00:00:00Z"
    },
    "filters": {
      "exchange_ids": [
        1,
        2
      ],
      "pool_uids": [
        "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000"
      ],
      "pool_addresses": [
        "1234567890abcdef1234567890abcdef12345678"
      ],
      "pool_ids": [
        "1234"
      ],
      "pool_type_ids": [
        2
      ]
    }
  },
  "data": [
    {
      "pool_uid": "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000",
      "exchange_id": 1,
      "block_number": 18934567,
      "block_time": "2025-11-11T18:42:15.123Z",
      "tx_index": 4,
      "log_index": 2,
      "reserves": [
        "169649594140000000000000",
        "60446403492000000000"
      ],
      "current_tick": 210130,
      "current_sqrt_price": "14614467034852101032872730522039888223787",
      "current_bin": null,
      "details": [
        {
          "tick": 210130,
          "lower_tick": 210120,
          "upper_tick": 210140,
          "bin_id": null,
          "liquidity": "123456789000000000000000000000000",
          "amount0": "1000000000000000000",
          "amount1": "2500000000"
        },
        ...
      ],
      "_tracing_id": "0301000000000000000000000000000000000000",
      "_parent_tracing_ids": [
        "0203000000000000000000000000000000000000"
      ],
      "_genesis_tracing_ids": [
        "0103000000000000000000000000000000000000"
      ],
      "_created_at": "2025-11-11T18:42:15.123Z",
      "_updated_at": "2025-11-11T18:42:15.123Z"
    },
    ...
  ],
  "cursor": null,
  "count": 1
}