WebSockets
Market Events
market.opened, market.settled and index.tick events on market and index channels.
Coming soon
The WebSocket feed is in development. This reference describes the v1 protocol so you can build against it today; it will be available on the Trader plan and above. Until launch, poll the REST endpoints once per window.market.opened
A new window opened and its Price To Beat was fixed. Channel: markets:{asset}:{timeframe}.
The window has started and its Price To Beat is fixed. Predictions follow on the matching signals channel.
{
"type": "market.opened",
"id": "evt_01JD3Z4K7A",
"channel": "markets:BTC:15m",
"ts": "2026-11-14T20:00:00.120Z",
"data": {
"market_id": "btc-15m-20261114-2000",
"price_to_beat": 76230,
"end_time": "2026-11-14T20:15:00.000Z"
}
}| data field | Example |
|---|---|
| market_id | "btc-15m-20261114-2000" |
| price_to_beat | 76230 |
| end_time | "2026-11-14T20:15:00.000Z" |
market.settled
A window settled. Includes the settlement price, outcome and every agent's result. Channel: markets:{asset}:{timeframe}.
The settlement price is final. results lists every published prediction with its WIN, LOSS or PUSH result, losses included.
{
"type": "market.settled",
"id": "evt_01JD3ZM2XB",
"channel": "markets:BTC:15m",
"ts": "2026-11-14T20:15:00.240Z",
"data": {
"market_id": "btc-15m-20261114-2000",
"price_to_beat": 76230,
"settlement_price": 76239,
"outcome": "UP",
"results": [
{
"agent_slug": "order-flow",
"direction": "UP",
"result": "WIN"
},
{
"agent_slug": "mean-reversion",
"direction": "DOWN",
"result": "LOSS"
}
]
}
}| data field | Example |
|---|---|
| market_id | "btc-15m-20261114-2000" |
| price_to_beat | 76230 |
| settlement_price | 76239 |
| outcome | "UP" |
| results | [{"agent_slug":"order-flow","direction":"UP","result":"WIN"},{"agent_slug":"mean-reversion","direction":"DOWN","result":"LOSS"}] |
index.tick
Probora Price Index update (throttled to one per second). Channel: index:{asset}.
Throttled Probora Price Index updates for live charts. Do not use ticks to resolve markets yourself; use settlements instead.
{
"type": "index.tick",
"channel": "index:BTC",
"ts": "2026-11-14T20:07:31.000Z",
"data": {
"asset": "BTC",
"price": 76241.37
}
}| data field | Example |
|---|---|
| asset | "BTC" |
| price | 76241.37 |
Questions or feedback on the API? [email protected]