Get wallet trades
Wallet APIs
Get Wallet Trades
Retrieve swap trades for a single wallet (GET or flat POST), or for multiple wallets in one batch request (POST), with pagination, token filtering, and enriched base/quote metadata.
GET
Get wallet trades
Query Details
Required Parameters
wallet- Wallet address to query trades for (supports EVM and Solana addresses)
Optional Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
tokenAddress | string | - | Filter trades involving this token contract address |
blockchains | string | - | Comma-separated list of blockchain IDs (e.g., "ethereum,base,solana:solana") |
limit | number | 50 | Number of trades per page (min: 1, max: 100) |
offset | number | 0 | Offset for pagination |
order | string | ”desc” | Sort order by date: "asc" or "desc" |
from | number | - | Start timestamp in milliseconds |
to | number | - | End timestamp in milliseconds |
Step-by-Step Tutorial and Video Walkthrough
- Check out the guide: Here
Pagination
Pagination is offset-based, consistent with other V2 wallet endpoints (/wallet/activity, /wallet/positions).
- Use
offsetandlimitto control which slice of results you receive pagein the response is computed asMath.floor(offset / limit) + 1
pagination object:
pageEntries indicates the actual number of trades returned (may be less than limit on the last page).
Response Overview
Each item indata[] represents a consolidated swap trade:
| Field | Type | Description |
|---|---|---|
id | string | Unique trade identifier |
type | string | Trade direction: "buy" or "sell" (relative to base token) |
operation | string | Swap type: "regular", "mev", etc. |
baseTokenAmount | number | Amount of base token traded (formatted with decimals) |
baseTokenAmountRaw | string | Raw amount of base token in smallest units |
baseTokenAmountUSD | number | USD value of the trade |
quoteTokenAmount | number | Amount of quote token traded (formatted) |
quoteTokenAmountRaw | string | Raw amount of quote token in smallest units |
quoteTokenAmountUSD | number | USD value of the quote side |
baseTokenPriceUSD | number | Base token price at trade time |
quoteTokenPriceUSD | number | Quote token price at trade time |
date | number | Trade timestamp in milliseconds |
blockchain | string | Blockchain name (e.g., "Ethereum", "Solana") |
transactionHash | string | Transaction hash |
marketAddress | string | Pool/market contract address |
transactionSenderAddress | string | Wallet that sent the transaction |
swapSenderAddress | string | Address that initiated the swap (may differ for AA wallets) |
swapRecipient | string|null | Swap beneficiary address (important for Account Abstraction) |
baseToken | object|null | { address, name, symbol, logo, decimals } |
quoteToken | object|null | { address, name, symbol, logo, decimals } |
labels | string[] | Wallet labels (e.g., "sniper", "insider", "smart-money") |
platform | object|null | { id, name, logo } - Trading platform/aggregator |
totalFeesUSD | number|null | Total fees paid in USD |
gasFeesUSD | number|null | Gas fees in USD |
platformFeesUSD | number|null | Platform/aggregator fees in USD |
mevFeesUSD | number|null | MEV/priority fees in USD |
preBalanceBaseToken | string|null | Pre-swap raw balance of base token |
preBalanceQuoteToken | string|null | Pre-swap raw balance of quote token |
postBalanceBaseToken | string|null | Post-swap raw balance of base token |
postBalanceQuoteToken | string|null | Post-swap raw balance of quote token |
Usage Examples
Basic: single wallet
Solana wallet with limit
Filter by token and blockchains
Pagination with offset
Date range filter
POST body request (single wallet)
Batch requests (multiple wallets)
To fetch trades for several wallets in a single call, send aPOST to /2/wallet/trades with a JSON array of items (or an object with an items array). Each item targets one wallet and accepts the same filters as the GET query (tokenAddress, chainIds, limit, offset, order, from, to).
- Maximum 10 wallets per request.
- Each wallet is processed independently: if one wallet fails, the others still return — that wallet’s entry contains an
errorfield instead ofdata.
| Item field | Type | Default | Description |
|---|---|---|---|
wallet | string | - | Required. Wallet address (EVM or Solana) |
tokenAddress | string | - | Filter trades involving this token contract address |
chainIds | string[] | - | Array of chain IDs (e.g., ["evm:1","evm:8453"]). All chains if omitted |
limit | number | 50 | Number of trades per page (min: 1, max: 100) |
offset | number | 0 | Offset for pagination |
order | string | ”desc” | Sort order by date: "asc" or "desc" |
from | number | - | Start timestamp in milliseconds |
to | number | - | End timestamp in milliseconds |
payload array:
Sample Response
Query Parameters
Wallet address
Filter trades involving this token contract address
Comma-separated list of chain IDs (e.g., "evm:1,evm:8453,solana:solana"). If omitted, all chains.
Number of trades per page (1-100, default: 50)
Required range:
1 <= x <= 100Offset for pagination (default: 0)
Required range:
x >= 0Sort order: asc or desc (default: desc)
Available options:
asc, desc Start timestamp in milliseconds
End timestamp in milliseconds