WebSocket Reference
market:sports-state
Live sports market state (score, period, clock) keyed by market id
The market:sports-state channel broadcasts live game state for sports markets — running score, current period, and game clock — so a market page can show a live scoreboard alongside prices. It is keyed by market id. Updates are pushed by the Polymarket Sports WebSocket connector as the game progresses.
Subscribe
{ "event": "subscribe", "data": { "channel": "market:sports-state:<marketId>" } }Replace <marketId> with the target market UUID.
Unsubscribe
{ "event": "unsubscribe", "data": { "channel": "market:sports-state:<marketId>" } }Server Broadcast
{
"channel": "market:sports-state:c5a2e7f1-3b4d-4e6a-8f9c-1d2e3f4a5b6c",
"data": {
"marketId": "c5a2e7f1-3b4d-4e6a-8f9c-1d2e3f4a5b6c",
"gameState": "in_progress",
"homeScore": 2,
"awayScore": 1,
"period": "2H",
"clock": "67:14",
"timestamp": 1716923400000
}
}Payload Schema
| Field | Type | Description |
|---|---|---|
marketId | string | Market identifier (UUID) |
gameState | string | Game status (e.g. pre, in_progress, final) |
homeScore | number | Home-side score |
awayScore | number | Away-side score |
period | string | Current period / half / quarter |
clock | string | Game clock |
timestamp | number | Unix millisecond epoch of the update |
Notes
- Public channel — no authentication required.
- Sports state is only produced for markets backed by a live sporting event.
- For event-level stats keyed by event id, see
market:sports-stats.