Skip to main content
Room ID: polymarket_position_metrics
Endpoint: wss://api.struct.to/ws
Rate: 0.025 credits per message
Stream OHLC, volume, and probability metrics for individual outcome positions. Updates are pushed whenever position-level metrics change within the tracked timeframe windows.
Related guide: TradingView charts for Polymarket uses this room for server-aggregated OHLC and probability bars.

Subscribe

The position_ids filter is required. You may optionally specify timeframes to limit which windows you receive. A maximum of 100 filters is allowed per client.

Filters

Example

Response

Events

position_metrics_update

Volume on Polymarket vs. Struct. Polymarket’s UI reports “volume” as notional (the count of shares or contracts traded), which corresponds to shares_volume in Struct payloads. usd_volume is the dollar value of those trades. Use shares_volume to match figures shown on Polymarket and usd_volume for true USD throughput.
USD and shares volumes are decimal strings to preserve precision. Builder-attributed fields cover the subset of activity routed through builder-signed orders, with separate buy and sell breakdowns.
price_* and probability_* are different series. price_* tracks the outcome token you’re looking at (filter: min_price_change_pct); probability_* always tracks the Yes/Up token, index 0 (filter: min_probability_change_pct). They agree on the Yes side; on the No side they are complements (a price of 0.40 is a probability of 0.60).
Last modified on July 13, 2026