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
| Param | Type | Description |
|---|---|---|
mint | string | Required. Token mint to watch. |
tradeTypes | string[] | buy, sell, swap, or all. |
minTokenAmount | string | number | Minimum token amount (human units). |
minUsdAmount | string | number | Minimum notional in USD. |
detail | basic / full | Payload 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
| Field | Type | Notes |
|---|---|---|
tradeType | buy | sell | swap | Relative to the subscribed mint |
user | string | Trader wallet |
input | Amount | Asset sent by the trader |
output | Amount | Asset received by the trader |
valueUsd | string | null | USD value when SOL/stablecoin pricing is available |
Full fields
| Field | Type | Notes |
|---|---|---|
pool | string | null | Pool account |
aggregator | string | null | Aggregator when the trade is part of a route |
reserves | Amount[] | null | Pool reserves when confirmed by the transaction |
fees | Fee[] | Platform and other decoded fees |
computeUnits | number | Transaction-level compute use |
priorityFee | Amount | Transaction priority fee |
transfers | Transfer[] | Standalone movements such as tips, payouts, and mints — a shortlist, not the whole ledger |