The Wallet API is in Beta. Endpoints and response formats may change.
Overview
The Token Transfers endpoint retrieves all token transfer activity for a Solana wallet, including detailed sender and recipient information. Unlike the full transaction history, this endpoint focuses specifically on transfers, making it ideal for payment tracking and transfer monitoring. The endpoint returns up to 100 transfers per request (default 50). Use thecursor parameter with pagination.nextCursor to fetch the next page, and read pagination.hasMore to know when more results are available.
When to use this
Use the Token Transfers API when you need to:- Track payments: monitor incoming payments for payment processors.
- Build a transfer feed: display a simple “sent/received” activity feed.
- Monitor specific tokens: track transfers of a specific token (e.g., USDC payments).
- Identify counterparties: see who sent or received tokens.
- Generate receipts: create payment receipts with sender/recipient details.
- Detect suspicious activity: monitor unusual transfer patterns.
Quickstart
Basic transfers query
Get recent incoming and outgoing transfers:- JavaScript
- Python
- cURL
Filter by direction
Filter the results client-side to get only incoming or outgoing transfers:- Incoming Only
- Outgoing Only
Query parameters
Response format
Field notes
direction: relative to the wallet you’re querying.inis tokens received (incoming payment);outis tokens sent (outgoing payment).counterparty: forintransfers, the sender; forouttransfers, the recipient.amount: human-readable transfer amount, already divided bydecimals. Use this for display (e.g.,1.5SOL,100.0USDC).amountRaw: the same amount as a raw integer string, before decimal adjustment (e.g.,"1500000000"for 1.5 SOL). Serialized as a string to avoid floating-point precision loss. Use this for on-chain instructions or precise arithmetic:amount = parseInt(amountRaw) / 10**decimals.mint: token mint address (So11111111111111111111111111111111111111111for native SOL).symbol: token symbol. Not all tokens have one; fall back to the mint address whensymbolisnull.
Use cases
Track payment history for a merchant
Monitor incoming USDC payments:Generate a payment receipt
Create a detailed receipt for a specific transfer:Monitor suspicious transfer patterns
Detect unusual transfer activity:Build a transfer activity feed
Create a user-friendly activity feed:Reconcile payments
Match transfers against expected payments:Pagination
For wallets with many transfers, page through results with thecursor parameter and pagination.hasMore:
Best practices
- Filter client-side for specific tokens. The API returns all token transfers. Filter by
mintaddress to track specific tokens like USDC or SOL. - Combine with the Identity API. Use the Identity endpoint to show human-readable names for known counterparties (exchanges, protocols, and others).
- Cache recent transfers. Transfer data doesn’t change. Cache results and only fetch new transfers since your last query.
- Paginate for complete history. Implement pagination to handle wallets with thousands of transfers efficiently.
- Handle a missing symbol. Not all tokens have a
symbolfield. Fall back to the mint address whensymbolisnull.
Transfers vs transaction history
Use Transfers when you only care about payments. Use Transaction History when you need complete balance change data.
Common errors
Next steps
Wallet History
Complete transaction history with per-transaction balance changes.
Wallet API Overview
All Wallet API endpoints and shared conventions.
API Reference
Request and response schemas for token transfers.