Dev+
Prices Channel
Stream real-time bid, ask, and last-traded prices for any market the moment they change. No polling, no delays — just a persistent connection and instant updates.
Requires Dev or Pro tier. This channel is not available on the Free tier. View plans & pricing
Access & scope
Available on
DevProEnterprise
Subscription scope
market_idsgroup_idsSubscribe
client → server
json{"action": "subscribe", "channel": "prices", "market_ids": ["12345"]}Tip
Pass group_ids instead of (or alongside) market_ids to receive updates for every market in those match groups automatically.
Example message
Every price change produces a price_update message with the full bid/ask snapshot for that market.
server → client
json{
"channel": "prices",
"type": "price_update",
"ts": 1712847600.123,
"data": {
"market_id": "12345",
"source": "kalshi",
"group_id": 101,
"yes_bid": 0.65,
"yes_ask": 0.67,
"no_bid": 0.33,
"no_ask": 0.35,
"last_price": 0.66,
"volume": 15000
}
}Data fields
| Field | Type | Description |
|---|---|---|
| market_id | string | Platform-native market identifier. |
| source | string | Platform name (kalshi, polymarket, etc). |
| group_id | int? | Match group ID when the market is cross-platform matched. |
| yes_bid / yes_ask | float | YES side best bid and ask, 0–1 probability. |
| no_bid / no_ask | float | NO side best bid and ask, 0–1 probability. |
| last_price | float | Most recent trade price. |
| volume | int | Cumulative reported volume. |