Skip to main content
Room ID: polymarket_trader_positions
Endpoint: wss://api.struct.to/ws
Rate: 0.005 credits per message
Stream per-position updates for tracked traders, batched per block. The room emits three envelope types: full rows on trades, compact price ticks on mark-to-market refreshes, and resolution ticks when a position’s market resolves.
Related guide: Real-time positions tracking seeds a portfolio from REST and keeps it live through this room.

Envelope types

Each envelope is shaped { type, room_id, block, data: [ ...rows ] }. Empty batches are not sent. Resolution rows cover lifetime non-redeemers as well as fresh resolutions.

dirty_kinds

Subscribe

The traders filter is required.

Filters

Example

Response

Events

trader_position_batch

Full position rows, fired on trades.
All fields are nullable.

trader_position_price_batch

Compact price ticks. dirty_kinds is always ["price"].

trader_position_resolution_batch

Resolution ticks. dirty_kinds is always ["position_resolved"].
Last modified on July 13, 2026