Parameters
This endpoint accepts the shared parameters, plus the following.string
native, erc20, or both, comma-separated. Defaults to both. NFT transfer types (erc721, erc1155) are not supported yet and return 400.string
in for transfers the wallet received, out for transfers it sent. Defaults to both.string
Only return transfers at or after this time, as an RFC 3339 timestamp such as
2026-09-01T00:00:00Z.string
Only return transfers at or before this time, as an RFC 3339 timestamp. Must not be earlier than
from.integer
Only return transfers at or after this block. Needs exactly one chain in
chains, because block numbers mean different things on different chains. Without it, the request returns 422 CONFLICTING_FILTERS.integer
Only return transfers at or before this block. Needs exactly one chain in
chains, and must not be lower than from_block.include_unknown_price=true so none are missed.
Response
object[]
One entry per transfer, newest first by
block_timestamp.object
See pagination.
How the data behaves
- Transfers have no ID. One transaction can contain several identical transfers, so deduplicating on
(chain, transaction_hash, from_address, to_address, token_address, amount_raw)can drop real ones. - Reorgs remove rows without notice. There is no
removedflag. A transfer reversed by a chain reorganization stops appearing in responses. If its transaction lands again, it can have a differentblock_numberandblock_timestamp, so don’t build keys from block fields. - USD values can change. The API prices each transfer when you request it, so
price_usdandamount_usdfor an old transfer can change as Goldsky’s price history fills in. - Chains are merged by time. Rows from different chains are interleaved by
block_timestamp. Two transfers on different chains with the same timestamp can have happened in either order.