Skip to main content
WebSocket-facing changes for Radion integrators. See the WebSockets overview for the current protocol.
Entries tagged Breaking require changes to existing integrations.
July 6, 2026
Pending feed via confirmed flag; richer mempool payload
The pending feed moved from a mempool. channel prefix to a confirmed boolean on the subscribe message, event frames are unified, and the decoded call now carries per-order detail.

Changed (Breaking)

The mempool. channel prefix is gone. Subscribe to the pending feed by setting confirmed: false (default true) with the bare channel name:
{ "action": "subscribe", "id": "pending", "channel": "trading", "confirmed": false }
Event frames now carry confirmed on the envelope and always use the bare channel name for both feeds. Tell pending from confirmed by the confirmed flag, and route by your subscription id:
{ "type": "event", "id": "pending", "channel": "trading", "confirmed": false, "data": {  } }
The pending data object dropped its inner confirmed field (now on the envelope), and the decoded call renames usd to notional_usd.

Added

  • The decoded call gains an orders array for exchange trades — each with maker, taker (nullable), token_id, side (buy/sell), maker_amount, and taker_amount. Empty for non-trade calls. No derived price yet.
  • A mempool_unavailable warning frame follows a confirmed: false subscribe when the upstream node exposes no pending stream, so a pending subscription no longer sits silently empty.
July 5, 2026
Event payloads carry data.type; every event documented
Confirmed event payloads now match the documented shape, and every event has a full payload reference.

Fixed (Breaking)

Confirmed event frames now put the snake_case discriminator inside data.type, with the event’s fields alongside it — the shape the docs and SDKs always described:
{
  "type": "event",
  "channel": "trading",
  "data": { "type": "order_filled_v2", "orderHash": "0x…" }
}
Before, the server sent an externally-tagged data ({ "OrderFilledV2": { … } }). If you parsed that raw shape, read data.type plus the sibling fields instead. The official SDKs already expect this.

Docs

Every channel page now documents all its events — each with a payload example and a full field table generated from the on-chain ABI (77 confirmed events across trading, fees, oracle, resolution, lifecycle, positions, combos, transfers, and accounts).
The clob.* channels are unchanged: their data has no type discriminator, because each clob channel has one fixed payload shape.
July 4, 2026
Redesigned channel taxonomy
Channels were reworked into a clean topic taxonomy. Every decoded event now routes to exactly one topic channel. The wallets and markets filter channels still scope across all topics.

Removed (Breaking)

  • global (and mempool.global) — it matched everything. Subscribe to each topic channel you need, or use wallets / markets to scope across topics.
  • activity — its events split into positions (plain CTF splits, merges, redemptions) and combos (module, neg-risk, conversion events).
  • large_trades — use trading with a min_usd filter.
  • The derived prices channel (last-trade ticks). The unrelated CLOB clob.prices channel is unaffected.

Renamed (Breaking)

  • tradestrading (and mempool.tradesmempool.trading). Fees moved off it to the new fees channel.

Added

  • Confirmed channels fees, resolution, transfers, accounts, and positions, each with a mempool. twin.
  • Settlement events (resolutions, reported results, pauses) moved off lifecycle and combos onto resolution. ERC-1155 transfers moved off combos onto transfers.
  • min_usd now applies to trading; market_ids / token_ids apply across the topic channels that accept them. Filters combine AND across axes, OR within an axis. See Filters.
June 29, 2026
Removed the collateral channel
Radion no longer watches the USDC.e and pUSD collateral token contracts. These ERC-20 transfers, approvals, and wraps fed no analytics, and the USDC.e filter matched every USDC.e transfer on Polygon, not just Polymarket ones.

Removed (Breaking)

  • Confirmed channel collateral and its twin mempool.collateral. Subscribing now returns an unknown channel error.
  • Events Transfer, Approval, Wrapped, and Unwrapped are no longer decoded or streamed.
  • The collateral value is removed from contract_kinds on mempool frames. Collateral-adapter splits, merges, redemptions, and conversions are unaffected — they still stream on the activity channel.
June 22, 2026
WebSocket streams for confirmed events and mempool transactions
Radion WebSockets are live. Subscribe to decoded Polymarket contract events and speculative mempool transactions over one persistent connection.

Added

  • Confirmed channels: global, trades, oracle, lifecycle, activity, collateral, combos, wallets, markets, large_trades, prices.
  • Mempool channels: the same set with a mempool. prefix.
  • Filters: wallets, market_ids, token_ids, min_usd. wallets narrows the trades channel to specific traders (matching a fill’s maker or taker). All filters mirror to the mempool.* variants, matched against transaction calldata.
  • Control frames: subscribe, unsubscribe, ping / pong, and a lagged error with skipped event count.
  • Per-plan connection and subscription limits. See Plan limits.
Last modified on July 5, 2026