Description
Retrieves versioned fee terms for liquidity pools, including the total swap fee fraction (e.g., 0.003) and optional split fractions across LP/user, protocol, and extra recipients.
Use this endpoint to:
- Attribute swap fees across recipients
- Join fee configuration to per-swap fee accounting and pool yield models
- Detect fee regime changes over time for a pool
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
Filter fee terms by exchange IDs. See the DigitalExchange enumeration for supported values.
Filter by BlockDB pool identifiers (uid from /evm/pools).
Filter by pool contract addresses (hex string, 20 bytes, no 0x prefix).
Filter by protocol-specific pool identifiers (e.g., Uniswap V4 pool_id).
Filter by AMM archetype. See the PoolType enumeration for supported values.
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
Pagination cursor from a prior call.
Response Fields
EVM chain ID echoed at the response root.
Echo of request metadata applied to the response.
Normalized block/timestamp bounds derived from the request.
Filters echoed from the request (selectors, pagination state, etc.).
Data
Array of pool fee-terms records matching the request.
Chain ID for the fee-terms record.
BlockDB pool identifier (uid from /evm/pools).
Block height where the fee-terms record is anchored.
Block timestamp joined from the blocks table for easier aggregation.
Zero-based index of the parent transaction within the block.
Position of the log within the transaction.
Total fee fraction (e.g., 0.003 = 0.30%). Returned as a string to preserve precision.
Absolute fee fraction allocated to LPs/users (same units as total_fee). Returned as a string to preserve precision.
Absolute fee fraction allocated to protocol/treasury (same units as total_fee). Returned as a string to preserve precision.
Absolute fee fraction allocated to extra destinations (burn, staking, etc.) (same units as total_fee). Returned as a string to preserve precision.
Row-level lineage hash (hex string, no 0x prefix).
Lineage references of immediate parents.
data._genesis_tracing_ids
Lineage references to the original on-chain artifacts that seeded this record.
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/fee-terms" \
-H "Authorization: Bearer $BLOCKDB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chain_id": 1,
"from_block": 19000000,
"to_block": 19010000,
"pool_addresses": [
"88e6a0c2ddd26feeb64f039a2c41296fcb3f564"
],
"limit": 250
}'
{
"chain_id": 1,
"meta": {
"request_window": {
"from_block": 19000000,
"to_block": 19010000
},
"filters": {
"pool_addresses": [
"88e6a0c2ddd26feeb64f039a2c41296fcb3f564"
],
"limit": 250,
"cursor": null
}
},
"data": [
{
"chain_id": 1,
"pool_uid": "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000",
"block_number": 19001234,
"block_time": "2025-12-20T12:34:56Z",
"tx_index": 7,
"log_index": 12,
"total_fee": "0.003000000000000000",
"user_fee": "0.003000000000000000",
"protocol_fee": "0.000000000000000000",
"extra_fee": "0.000000000000000000",
"_tracing_id": "0204c0ffee000000000000000000000000000000000000000000000000000001",
"_parent_tracing_ids": [
"0103c0ffee000000000000000000000000000000000000000000000000000001"
],
"_genesis_tracing_ids": [
"0103c0ffee000000000000000000000000000000000000000000000000000001"
],
"_created_at": "2025-12-20T12:35:01Z",
"_updated_at": "2025-12-20T12:35:01Z"
}
],
"cursor": null,
"count": 1
}