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.
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
| Filter | Type | Required | Description |
|---|
position_ids | string[] | Yes | Outcome token IDs to track |
timeframes | string[] | No | Timeframe windows to receive updates for |
Example
{
"type": "join_room",
"payload": {
"room_id": "polymarket_position_metrics"
}
}
{
"type": "room_message",
"payload": {
"room_id": "polymarket_position_metrics",
"message": {
"action": "subscribe",
"position_ids": ["12345"]
}
}
}
Response
{
"type": "position_metrics_stream_subscribe_response",
"room_id": "polymarket_position_metrics",
"data": {
"position_ids": ["12345"],
"timeframes": [],
"rejected": []
}
}
Events
position_metrics_update
{
"type": "position_metrics_update",
"room_id": "polymarket_position_metrics",
"data": {
"condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"position_id": "12345678901234567",
"outcome": "Yes",
"outcome_index": 0,
"timeframe": "1h",
"timestamp": 1743500000,
"usd_volume": "45000.00",
"usd_buy_volume": "28000.00",
"usd_sell_volume": "17000.00",
"fees": 90.0,
"txns": 120,
"buys": 80,
"sells": 40,
"unique_traders": 35,
"price_open": 0.62,
"price_close": 0.65,
"price_high": 0.67,
"price_low": 0.60,
"probability_open": 0.62,
"probability_close": 0.65,
"probability_high": 0.67,
"probability_low": 0.60
}
}