Prediction Market data is currently in beta. It is actively being worked on and improved, but may be unreliable. Polymarket data is live, and Kalshi data will be added soon.Subscriptions require a Growth or Enterprise plan. Learn more.
Kalshi has limited trade data. When subscribing to Kalshi trades:
- No
traderIdfiltering: Individual trader information is not exposed - No BUY/SELL distinction: All trades show as
TRADEtype (no direction information) - No trader identity: The
makerandtraderIdfields will be null or unavailable
Subscription example
Example Response
Usage Guidelines
- ID formats:
- Market ID:
- Polymarket:
<marketAddress>:Polymarket:<exchangeAddress>:<networkId>(e.g.,0x25aa90b3cd98305e849189b4e8b770fc77fe89bccb7cf9656468414e01145d38:Polymarket:0xc5d563a36ae78145c45a50134d48a1215220f80a:137) - Kalshi:
<marketSlug>:Kalshi(e.g.,KXMVECROSSCATEGORY-S2026A4A05B370DF-F1FBA451AA9:Kalshi)
- Polymarket:
- Event ID varies by platform:
- Polymarket:
<eventSlug>:Polymarket:<exchangeAddress>:<networkId>(e.g.,67284:Polymarket:0xc5d563a36ae78145c45a50134d48a1215220f80a:137) - Kalshi:
<eventSlug>:Kalshi(e.g.,KXMVESPORTSMULTIGAMEEXTENDED-S2026350C4EF9BCE:Kalshi)
- Polymarket:
- Trader ID: Polymarket only -
<address>:Polymarket(e.g.,0x02227b8f5a9636e895607edd3185ed6ee5598ff7:Polymarket)
- Market ID:
- Subscribe with optional filters:
marketId(specific outcome),eventId(all outcomes in an event), ortraderId(trades by a specific user - Polymarket only) - Trades stream in real-time as they are ingested from prediction market venues
priceUsdshows the probability price (0.00 to 1.00), whileamountUsdshows the monetary value- Platform differences: Polymarket shows
BUY/SELLtrade types, while Kalshi only showsTRADEtype
Troubleshooting Tips
What do the different tradeType values mean?
What do the different tradeType values mean?
BUY means purchasing shares of an outcome, SELL means selling shares. TRADE is a generic trade without direction. BUY_COUNTERPARTY and SELL_COUNTERPARTY represent the opposite side of maker trades. PAYOUT_REDEMPTION indicates claiming winnings after resolution.How do I calculate the trader's profit or loss?
How do I calculate the trader's profit or loss?
For a resolved market, profit = (final outcome price - entry price) * shares held. If the trader bought “Yes” at 0.65 and it resolved to 1.00, their profit is (1.00 - 0.65) * shares. If it resolved to 0.00, their loss is 0.65 * shares.
What's the relationship between amount, priceUsd, and amountUsd?
What's the relationship between amount, priceUsd, and amountUsd?
amount is the number of shares traded, priceUsd is the per-share price, and amountUsd is the total cost (amount * priceUsd). For example, buying 1000 shares at 0.65 per share costs $650 USD.Why do some trades have null values for certain fields?
Why do some trades have null values for certain fields?
Older trades or trades from certain venues may be missing data like
transactionHash, blockNumber, or traderId. This depends on what data the prediction market protocol provides. Always check for null before using these fields.How do I build a real-time order book from this subscription?
How do I build a real-time order book from this subscription?
This subscription provides executed trades (fills), not pending orders. To build an order book, you need to track the current state of liquidity using
onPredictionMarketBarsUpdated or query market depth through the prediction venue’s native API. Use trade data to show trade history and recent activity.