Skip to main content
POST
https://api.blockdb.io
/
v1
/
evm
/
tokens
/
erc20
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": "0203000000000000000000000000000000000001",
      "_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
}

Description

Retrieves a list of ERC20 tokens based on the provided filters.

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 an explicit contract address filter.
Providing more than one option results in HTTP 400.
Providing none results in HTTP 400.

Contract Address Filter

contract_address
string
Specific ERC-20 token contract address to return (hex string, 20 bytes, no 0x prefix).

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

Meta

meta
object
Echo of request metadata applied to the response.
meta.chain_id
number
EVM chain ID echoed from the request.
meta.request_window
object
Normalized block/timestamp bounds derived from the request.
meta.filters
object
Filter parameters echoed from the request (contract addresses, pagination state, etc.).

Data

data
object[]
Array of token objects.
data.chain_id
number
Chain ID for the token record.
data.contract_address
string
The Ethereum contract address of the token.
data.block_number
number
Block number of the pool-creation event.
data.block_time
string
Block timestamp joined from the blocks table for easier selection and grouping.
data.tx_index
number
Transaction index within the genesis block.
data.name
string
The name of the token.
data.symbol
string
The symbol of the token.
data.decimals
number
The number of decimals for the token.
data._tracing_id
string
Row-level lineage hash (hex string, no 0x prefix).
data._parent_tracing_ids
string[]
Lineage references of immediate parents.
data._created_at
string
Record creation timestamp, e.g. "2025-11-11T18:42:15.123Z".
data._updated_at
string
Last update timestamp in the same format.

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/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": "0203000000000000000000000000000000000001",
      "_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
}