wallet_trades
Чем торговал кошелёк — один раз за маршрут, а не за каждый хоп.
Subscribe
Требуется адрес кошелька.
json
{
"op": "subscribe",
"stream": "wallet_trades",
"params": {
"wallet": "7xK…3F2a",
"platforms": ["jupiter"],
"tradeTypes": ["SWAP"],
"minUsdAmount": "100"
},
"id": 1
}Фильтры
| Param | Type | Description |
|---|---|---|
wallet | string | Обязательно. Кошелёк для отслеживания. |
platforms | string[] | Slug площадок / роутеров. |
tradeTypes | string[] | buy, sell, swap или all. |
minUsdAmount | string | number | Минимальный нотионал в USD. |
detail | basic / full | Уровень полезной нагрузки; по умолчанию basic. |
tradeType относительно подписанного кошелька: трата quote-актива — buy, получение — sell, токен-на-токен — swap. user всегда равен подписанному кошельку.
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
Конверт, tradeType, user, input, output и valueUsd имеют ту же форму, что и в token_trades.
valueUsd равен null, когда ни одна нога не SOL и не стейблкоин. Такие события проходят фильтр minUsdAmount.
Full fields
| Field | Type | Notes |
|---|---|---|
route.venues | string[] | Площадки, использованные маршрутом |
route.hops | Hop[] | По каждому хопу: протокол, пул (null, если площадка его не отдаёт), input, output, резервы |
fees | Fee[] | Декодированные комиссии транзакции |
computeUnits | number | Использование compute на уровне транзакции |
priorityFee | Amount | Priority fee транзакции |
transfers | Transfer[] | Отдельные движения вне маршрута |
Каждый маршрут эмитится один раз, а не один раз за хоп.