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.
minUsdAmountstring | numberMinimum 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": "wt_1",
  "stream": "wallet_trades",
  "cursor": "000330112261:000006:0000",
  "data": {
    "slot": 330112261,
    "signature": "6Qz…9vTs",
    "blockTime": 1769270448,
    "protocol": "jupiter",
    "tradeType": "SWAP",
    "user": "7xK…3F2a",
    "input": {
      "mint": "So111…1112",
      "amountRaw": "10000000000",
      "amount": "10",
      "decimals": 9
    },
    "output": {
      "mint": "EPj…Dt1v",
      "amountRaw": "1458000000",
      "amount": "1458.00",
      "decimals": 6
    },
    "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[]Per hop: protocol, pool (null where the venue exposes none), input, output, reserves
feesFee[]Decoded transaction fees
computeUnitsnumberTransaction-level compute use
priorityFeeAmountTransaction priority fee
transfersTransfer[]Standalone movements outside the route

Each route is emitted once rather than once per hop.

Realtime Solana data API