Wallet

Wallet Transfer History

Returns ERC-20/SPL token transfers with token identity, USD value, and flow direction (in/out). Unlike wallet-history which shows all tx types in native value, this focuses on token-level transfer activity.

Pass the wallet address in address — returns all ERC-20/SPL token transfers where this wallet is the sender or receiver.

Included fields: token contract, token symbol, amount USD, counterparty, flow direction.

Filter by specific token or flow direction (in/out).

Lookup: address (wallet, raw 0x hex or base58 — ENS not supported). Filter by chain — supports ethereum, base, bsc, arbitrum, tron, solana.

Data refresh: ~24 hours · Chains: Ethereum, Base, BSC, Arbitrum, Tron (Solana uses a different source with no delay)

get/gateway/v1/wallet/transfers

Request

  • Base URL
    https://api.asksurf.ai
  • Auth
    HTTP bearer

Query parameters

addressstring required

Wallet address — must be a raw address (0x-prefixed hex for EVM, base58 for Solana). ENS names like vitalik.eth are not supported; resolve to a 0x address first.

Example:0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
chain'ethereum' | 'base' | 'solana' | 'tron' | 'bsc' | 'arbitrum'

Chain. Can be ethereum, base, solana, tron, bsc, or arbitrum.

Example:ethereum
flow'in' | 'out'

Filter by transfer direction relative to the queried wallet. in for incoming, out for outgoing. Omit for both directions.

Example:in
tokenstring

Filter by token contract address. Use 0x0000000000000000000000000000000000000000 for native token transfers. Omit for all tokens.

Example:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
limitinteger

Results per page. Default 20, max 100. NOTE: Solana (chain=solana) is hard-capped at 40 per call by the upstream Solscan API — values above 40 return at most 40 items. Check meta.has_more and paginate with offset to fetch beyond the first page.

Example:20
offsetinteger

Pagination offset. For Solana, this maps to Solscan's 1-indexed page parameter (page = offset/page_size + 1).

includestring

Comma-separated enrichments to attach to each transfer. Currently valid: labels — adds from_label and to_label fields with entity information for each counterparty address.

Example:labels

Response

OK

$schemastring uri

A URL to the JSON Schema for this object.

Example response

{
  "$schema": "https://example.com/schemas/DataResponseWalletTransferItem.json"
}

Changes

No recorded changes to this operation across all 12 revisions of this API.