Real-time bid, ask, last, and volume for subscribed markets or match groups. Works for any market we ingest — matched cross-platform groups and single-platform markets alike.
Overview
Use case: Power live dashboards, price alerts, and cross-venue comparisons without polling REST.
Requirements
- Available with a Dev, Pro, or Enterprise API key.
- Subscribe with market_ids (any platform-native id we ingest) and/or group_ids (matched cross-platform groups).
- Wildcard subscriptions are not supported — specify at least one id.
- Requires an authenticated WebSocket session (same as all channels).
Send
| Field | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | Must be "subscribe" for this section. |
| channel | string | yes | Must be "prices". |
| market_ids | string[] | optional | Market scope; can be combined with group_ids. |
| group_ids | number[] | optional | Group scope; expands to markets linked to each group. |
| wildcard | behavior | not available | At least one supported id list should be provided. |
Receive
Data messages use the standard envelope: channel, type, ts, data. Types for this channel include: price_update.
After subscribed, you receive a price_update per resolved market that already has a cached tick (same shape as streaming updates). Markets we know about but haven't ticked yet stay subscribed silently and deliver on the next tick — no snapshot, no warning. A warning with code UNKNOWN_ID is only emitted when an id is not in our ingestion universe at all (typo, retired market, or a market we haven't discovered yet).
Data fields (inside data)
| Field | Type | Description |
|---|---|---|
| market_id | string | Platform-native market identifier. |
| source | string | e.g. kalshi, polymarket, opinion. |
| group_id | int? | Match group id when the market is linked across platforms. Omitted for single-platform markets. |
| yes_bid / yes_ask | number | YES side best bid and ask (0–1). |
| no_bid / no_ask | number | NO side best bid and ask (0–1). |
| last_price | number | Last traded price. |
| volume | number | Reported volume. |
| ts | number | Payload timestamp from cache when present. |




