Skip to content

wallet_trades

What a wallet traded, counted once per route rather than once per hop.

Subscribe

Requires a wallet address.

json
{
  "op": "subscribe",
  "stream": "wallet_trades",
  "params": {
    "wallet": "7xK…3F2a",
    "platforms": ["jupiter"],
    "tradeTypes": ["SWAP"],
    "minUsdAmount": "100"
  },
  "id": 1
}

Filters

ParamTypeDescription
walletstringRequired. Wallet to follow.
platformsstring[]Venue / router slugs.
tradeTypesstring[]BUY, SELL, SWAP, or all.
minUsdAmountstringMinimum notional in USD.
detailbasic / fullPayload level; basic by default.

tradeType is relative to the subscribed wallet: spending the quote asset is BUY, receiving it is SELL, and token-to-token is SWAP. user always equals the subscribed wallet.

Event

json
{
  "op": "event",
  "sub": "wr_1f08",
  "stream": "wallet_trades",
  "cursor": "330112261:6:0",
  "data": {
    "slot": 330112261,
    "signature": "6Qz…9vTs",
    "blockTime": 1769270448,
    "protocol": "jupiter",
    "tradeType": "SWAP",
    "user": "7xK…3F2a",
    "input": {
      "mint": "So111…1112",
      "amountRaw": "10000000000",
      "amount": "10"
    },
    "output": {
      "mint": "EPj…Dt1v",
      "amountRaw": "1458000000",
      "amount": "1458.00"
    },
    "valueUsd": "1458.00"
  }
}

Basic fields

The envelope, tradeType, user, input, output, and valueUsd have the same shape as token_trades.

valueUsd is null when neither leg is SOL or a stablecoin. Those events pass the minUsdAmount filter.

Full fields

FieldTypeNotes
route.venuesstring[]Venues used by the route
route.hopsHop[]Protocol, pool, input, output, and reserves per hop
feesFee[]Decoded transaction fees
computeUnitsnumberTransaction-level compute use
priorityFee{ amountRaw, decimals }Transaction priority fee
transfersTransfer[]Standalone movements outside the route

Each route is emitted once rather than once per hop.

Realtime Solana data API