List an address's ERC-20 balances
Keyset-paginated list of non-zero ERC-20 balances for an address, ordered by token address ascending. Token metadata (symbol, decimals) is included where available. An address with no balances returns 200 with data: []. Snapshot freshness: balances come from a materialized snapshot that the data store refreshes every 6 hours (with up to 30 minutes of random delay), so the newest rows can be about 6.5 hours old plus the refresh run itself. as_of_block here is the service's current indexed head, not the block height of the snapshot; read the snapshot time from meta.refreshed_at, and treat the data as stale when refreshed_at is null.
Request
- Base URL: https://api.blockvectra.com/v1/data
- URL: https://api.blockvectra.com/v1/data/{chain}/addresses/{address}/balances
- Auth: API key in header x-api-key
Path parameters
Chain identifier: the chain value of an entry in GET /chains (for example robinhood_mainnet), which lists every value this API accepts, i.e. the exact lowercase form of that entry's chain_slug. Matching is exact and case-sensitive; other spellings, aliases and numeric chain IDs are not accepted and return 404 not_found (unknown or not-public chain). What the chain serves differs per chain: see that entry's features and coverage.
20-byte address. 0x/0X prefix optional; either hex digit case is accepted.
20-byte address, 0x optional, either case.
Query parameters
Page size. Absent defaults to 50. 0 or a non-integer value is 400 bad_request. A value above 500 is clamped to 500, not rejected.
Opaque pagination token from the previous response's next_cursor; pass it back unchanged.
Response
This address's non-zero ERC-20 balances, token ascending.
Example response
{
"data": [
{
"balance": "9007199254740993"
}
],
"meta": {
"chain": "robinhood_mainnet",
"chain_slug": "ROBINHOOD_MAINNET",
"chain_external_id": "eip155:4663",
"refreshed_at": "2026-09-26T05:41:07Z"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.