Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

outcomeTrades

Streams executed trades for several Outcome instruments at once over the node /ws connection. A subscription carries the instrumentIds to follow.

ChanneloutcomeTradesserver → client · type outcomeTrades

One public tape across several Outcome instruments (every leg of an event).

Subscribe
{
  "method": "subscribe",
  "type": "outcomeTrades",
  "subscription": {
    "type": "outcomeTrades",
    "instrumentIds": [
      20165500,
      20165501
    ]
  }
}
Try it
WS wss://rpc.txflow-testnet.xyz/ws
Subscription parameters
instrumentIdsinteger · uint64[]required
typestringrequired
"outcomeTrades"
Server message
channelstring
"outcomeTrades"
dataobject[]
coinstring
hashstring
pxstring
sidestring

Taker side: "A" = buy (ask), "B" = sell (bid).

"A""B"
szstring
tidinteger · uint64
timeinteger · int64
instrumentIdinteger · uint64
usersstring[]

[takerAddress, makerAddress].

Message example
{
  "channel": "outcomeTrades",
  "data": [
    {
      "coin": "OUTCOME-20165500",
      "instrumentId": 20165500,
      "side": "A",
      "px": "0.55",
      "sz": "10",
      "time": 1788935653280,
      "hash": "0xabc123",
      "tid": 887766,
      "users": [
        ""
      ]
    }
  ]
}

Use this channel when one tape needs to span multiple markets — an event page showing every leg, or a portfolio-wide activity feed. For a single market the shared trades channel is simpler: pass the Outcome instrument id as coin.

Pushes are not filtered per instrument, so route on instrumentId (or coin) when you follow several markets on one connection. side is the taker side of the underlying YES book, not the displayed leg.