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 an explicit contract address filter.
Providing more than one option results in HTTP 400.
Providing none results in HTTP 400.
Contract Address Filter
Specific ERC-20 token contract address to return (hex string, 20 bytes, no 0x prefix).
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
Pagination cursor from a prior call.
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 (contract addresses, pagination state, etc.).
Data
Array of token objects; each element matches the linked dataset plus data.chain_id on every API row (not a column in the warehouse DDL).
EVM Chain ID for the record.
The Ethereum contract address of the token.
Block number where the token record was first recognized.
Block timestamp joined from the blocks table for easier selection and grouping.
Transaction index within the genesis block.
The number of decimals for the token.
Row-level lineage hash (hex string, no 0x prefix).
Lineage references of immediate parents.
Record creation timestamp, e.g. "2025-11-11T18:42:15.123Z".
Last update timestamp in the same format.
Envelope Fields
Cursor token for pagination.
Number of records returned in data.
curl -X POST "https://api.blockdb.io/v1/evm/tokens/erc20" \
-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",
"contract_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": {
"contract_address": "1234567890abcdef1234567890abcdef12345678"
}
},
"data": [
{
"chain_id": 1,
"contract_address": "0000000000000000000000000000000000000001",
"block_number": 567890,
"block_time": "2018-07-07T12:34:56Z",
"tx_index": 4,
"name": "Token Name",
"symbol": "TOKEN",
"decimals": 18,
"_tracing_id": "0201000000000000000000000000000000000001",
"_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
}