Skip to main content
Public Beta — Prediction market rooms use the same Datastream hub as other Solana Tracker streams.
Connect to wss://datastream.solanatracker.io/{apiKey} with your Data API key.
Instead of polling the Prediction Markets REST API, join pm:* rooms and receive trades, prices, books, and volume as they happen. Delivery is at-least-once across failover — deduplicate with data.sourceId / tradeId when present. Room data is flat: payload fields sit at the top level beside type, channel, exchange, marketId, and timestamp.

Connecting

Join / leave:

Room types

There is no broad pm:prices firehose — prices, quotes, orderbooks, and volume are market- or event-scoped only. notionalUsd is price × quantity (USD). The significant room uses threshold $25. Event rooms fan out under every identity on the payload (eventId, eventSlug, gammaEventId, Kalshi eventTicker), so slug-based and gamma-id joins both work.

Volume example

Crypto 5m windows — join with the event slug:
Volume frames are latest-wins. Fields: volume (event total when eventId is set), marketVolume, delta, eventId.

Quotes vs REST

Join pm:market:polymarket:{tokenId}:quotes for a streaming size-aware VWAP ladder. For arbitrary sizes use REST GET /v1/markets/{id}/quote on prediction-market-api.solanatracker.io.

Prices vs crypto underlying


IDs

  • Room segments are lowercase.
  • Polymarket market rooms require decimal CLOB token IDs (not 0x condition ids).
  • Kalshi tickers appear uppercase in many REST payloads but lowercase in room names.

API reference

In the Datastream nav, Prediction Market rooms are grouped as: