curl -X POST "https://api.blockdb.io/v1/evm/entities/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"
},
"resolved_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": [
{
"contract_id": "0000000000000000000000000000000000000001000000000000",
"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,
"page_count": 1
}
Entities
Tokens · ERC-20
Discover ERC-20 tokens with metadata, supply, and compliance fields.
POST
/
v1
/
evm
/
entities
/
tokens
/
erc20
curl -X POST "https://api.blockdb.io/v1/evm/entities/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"
},
"resolved_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": [
{
"contract_id": "0000000000000000000000000000000000000001000000000000",
"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,
"page_count": 1
}
Overview
- Dataset ID:
0201 - ERC-20 Tokens - Description: Catalog of ERC-20 token contracts (EIP-20).
- CSV Sample: Download
- JSON Sample: Download
Parameters
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.
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).Pagination Controls
Recommended default
250; maximum 1000 to stay under ~10 MB responses.Pagination cursor from a prior call.
Response Fields
Meta
Echo of request metadata applied to the response.
EVM chain ID echoed from the request.
Pure echo of the window you sent (
from_block/to_block/from_timestamp/to_timestamp); unset bounds are null.The concrete window the query actually executed against, after resolving the request. For a block range on a time-bucketed endpoint (OHLC/VWAP/VWAP-aggregate/fiat VWAP),
from_timestamp/to_timestamp hold the resolved timestamp window (and from_block/to_block echo your request). For a time range on a block-keyed endpoint, from_block/to_block hold the resolved block range (and the timestamps echo your request). null for selector-only requests (no window). No extra database work is done — these are the values the query already computed.Resolved/echoed start block of the executed window.
Resolved/echoed end block of the executed window.
Resolved/echoed start timestamp (ISO-8601) of the executed window.
Resolved/echoed end timestamp (ISO-8601) of the executed window.
Filter parameters echoed from the request (contract addresses, pagination state, etc.).
Data
Array of token objects.
Unique contract incarnation ID (26 bytes hex). Disambiguates redeployed contracts at the same address.
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.
Token name from
name() (optional in EIP-20).Token symbol from
symbol() (optional in EIP-20).Token decimals from
decimals() (optional in EIP-20).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/entities/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"
},
"resolved_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": [
{
"contract_id": "0000000000000000000000000000000000000001000000000000",
"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,
"page_count": 1
}
Last modified on May 29, 2026
Was this page helpful?
⌘I