Overview
Parameters
Target EVM network. See the Chain enumeration for supported values.
Range Filters (mutually exclusive)
Starting block number (inclusive) for the query. Use with to_block.
Ending block number (inclusive) for the query. Use with from_block.
Starting timestamp (ISO-8601). If it falls between blocks, the next block after this timestamp is used. Use with to_timestamp.
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
Specific pool address to return (hex string, 20 bytes, no 0x prefix).
Filter snapshots by exchange IDs. See the DigitalExchange enumeration for supported values.
Filter pools by archetype. See the PoolType enumeration for supported values.
Response Fields
Echo of request metadata applied to the response.
EVM chain ID echoed from the request.
Normalized block/timestamp bounds derived from the request.
Filter parameters echoed from the request.
Data
Array of pool objects. Each row matches the linked dataset.
Chain ID for the pool record.
Internal BlockDB pool id (32-byte hex string, no 0x prefix).
Exchange/DEX identifier. See the DigitalExchange enumeration for supported values.
Pool type identifier. See the PoolType enumeration for supported values.
Block number where the pool was first recognized.
Zero-based transaction index within the block.
Zero-based log index within the transaction.
Factory or pool-manager contract address (hex, 20 bytes, no 0x prefix).
Token contract addresses that compose the pool (each hex, 20 bytes, no 0x prefix).
On-chain pool contract address when applicable (hex, 20 bytes, no 0x prefix).
Protocol-specific pool id when applicable (for example Uniswap V4), hex string without 0x.
Ordinal for the pair within the exchange, when applicable.
Asset manager contract addresses for Balancer-style pools (hex strings), or null.
Amplification parameter for stable pools, when applicable.
Token weights for weighted pools, when applicable.
Tick spacing for concentrated-liquidity pools, when applicable.
Row-level lineage hash (hex string, no 0x prefix).
Lineage references of immediate parents (hex strings).
Record creation timestamp (ISO-8601).
Last update timestamp (ISO-8601).
Envelope Fields
Cursor token for pagination.
Number of records returned in data.
curl -X POST "https://api.blockdb.io/v1/evm/pools" \
-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": [
2,
3
],
"pool_type_ids": [
201,
302,
3303
],
"address": "1234567890abcdef1234567890abcdef12345678"
}'
{
"meta": {
"chain_id": 1,
"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_type_ids": [
1,
2,
4
],
"address": "1234567890abcdef1234567890abcdef12345678"
}
},
"data": [
{
"chain_id": 1,
"pool_uid": "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000",
"exchange_id": 1,
"type_id": 2,
"block_number": 567890,
"block_time": "2018-07-07T12:34:56.000Z",
"tx_index": 4,
"log_index": 2,
"factory": "1f98431c8ad98523631ae4a59f267346ea31f984",
"tokens": [
"c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
],
"contract_address": "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"pool_id": null,
"pairnum": 42,
"asset_managers": null,
"amp": null,
"weights": [
0.5,
0.5
],
"tick_spacing": null,
"_tracing_id": "0211000000000000000000000000000000000001",
"_parent_tracing_ids": [
"0103000000000000000000000000000000000001",
"0103000000000000000000000000000000000002"
],
"_created_at": "2025-11-11T18:42:15.123Z",
"_updated_at": "2025-11-11T18:42:15.123Z"
}
],
"cursor": null,
"count": 1
}