List a token contract's transfers
Keyset-paginated list of token transfers for a specific token contract by ?standard= (erc20, erc721, or erc1155), ordered by recency descending. The window's lower bound is computed per dataset (the token transfers of that standard), not from the chain's start alone: it is above GET /chains coverage.from_block only when that dataset has a recorded build coverage starting higher. A window entirely before it is 422 no_coverage; one that starts before it, or has no from_block, is served as far as it goes with meta.coverage = "partial". Limitation: during an ascending backfill the hole between the backfilled tail and the live start is not detected (the dataset's start is its lowest covered block), so a window inside that hole is still 200 with an empty list.
Request
- Base URL: https://api.blockvectra.com/v1/data
- URL: https://api.blockvectra.com/v1/data/{chain}/tokens/{token}/transfers
- 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 token contract address, 0x optional, either case.
Query parameters
Transfer standard to query (erc20, erc721, or erc1155).
Optional lower bound (inclusive), non-negative integer. An explicit value above as_of_block is a hard 409 not_indexed_yet (from_block > to_block is 400).
Optional upper bound (inclusive), non-negative integer. Absent defaults to as_of_block, the newest fully written block (never an error); an explicit value above as_of_block is a hard 409 not_indexed_yet — there is no clamp escape for this endpoint. meta.finalized_block is a marker and never bounds the window.
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 token's transfers, newest first.
Example response
{
"data": [
{
"amount": "9007199254740993",
"block_timestamp": "2026-09-26T05:41:07Z"
}
],
"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.