Skip to content

token_trades ​

Every swap that settles in a token's pools, whichever venue or aggregator it came through.

Subscribe ​

Requires a mint address.

json
{
  "op": "subscribe",
  "stream": "token_trades",
  "params": {
    "mint": "So11111111111111111111111111111111111111112",
    "tradeTypes": ["buy", "sell"],
    "minUsdAmount": "10"
  },
  "id": 1
}

Filters ​

ParamTypeDescription
mintstringRequired. Token mint to watch.
tradeTypesstring[]buy, sell, swap, or all.
minTokenAmountstring | numberMinimum token amount (human units).
minUsdAmountstring | numberMinimum notional in USD.
detailbasic / fullPayload level; basic by default.

tradeType is relative to the subscribed token: receiving it is buy, sending it is sell.

Thresholds accept a number or a string; a string keeps the digits exactly. A value that is not a number, or is negative, is rejected with invalid_params.

Event ​

json
{
  "op": "event",
  "sub": "tt_1",
  "stream": "token_trades",
  "cursor": "000330112233:000017:0000",
  "data": {
    "slot": 330112233,
    "signature": "5xTq…8mNv",
    "blockTime": 1769270400,
    "protocol": "pumpfun_amm",
    "tradeType": "buy",
    "user": "7xK…3F2a",
    "input": {
      "mint": "So111…1112",
      "amountRaw": "4200000000",
      "amount": "4.2",
      "decimals": 9
    },
    "output": {
      "mint": "8Wq…kR2p",
      "amountRaw": "13500000000000",
      "amount": "13500000",
      "decimals": 6
    },
    "valueUsd": "612.40"
  }
}

user is the trader, not the fee payer in sponsored transactions. valueUsd is available when one leg is SOL or a stablecoin; otherwise it is null.

USD filtering

Trades with valueUsd: null pass the minUsdAmount filter.

Basic fields ​

FieldTypeNotes
tradeTypebuy | sell | swapRelative to the subscribed mint
userstringTrader wallet
inputAmountAsset sent by the trader
outputAmountAsset received by the trader
valueUsdstring | nullUSD value when SOL/stablecoin pricing is available

Full fields ​

FieldTypeNotes
poolstring | nullPool account
aggregatorstring | nullAggregator when the trade is part of a route
reservesAmount[] | nullPool reserves when confirmed by the transaction
feesFee[]Platform and other decoded fees
computeUnitsnumberTransaction-level compute use
priorityFeeAmountTransaction priority fee
transfersTransfer[]Standalone movements such as tips, payouts, and mints — a shortlist, not the whole ledger

Realtime Solana data API