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.At least for the time being, this endpoint requires a Growth or Enterprise plan. Learn more.
Kalshi does not provide trader data. These endpoints only work with Polymarket data. Kalshi’s API does not expose individual trader information due to privacy considerations on their regulated exchange.
Example: Get all market statistics for a trader
Example Response (truncated)
Example: Filter trader stats for specific markets
Example Response
Usage Guidelines
- The
traderIdformat is<address>:<protocol>(e.g.,0x6904db029589e17f69209646381b6d663d695b63:Polymarket) - Use this query to analyze a trader’s performance across all markets they’ve participated in
- Returns per-market breakdowns showing positions, costs, volumes, and realized profits for each outcome
- Find trader IDs using
predictionTradersorfilterPredictionTraders - Optionally filter results to specific markets using the
marketIdsarray hasOpenPositionindicates whether the trader currently holds shares in any outcome for this market- Returns paginated results - use
cursorfor pagination through large position lists - Stats are separated into
outcome0Statsandoutcome1Statsfor binary markets
Understanding Trader Market Statistics
- Positions are tracked separately for each outcome (outcome0 and outcome1 in binary markets)
realizedPnlUsdshows profit/loss from closed positions only (not unrealized gains on open positions)- All volume and PnL metrics are available in both USD and CT (Collateral Token) units
PredictionTraderMarketPnlStatus enum for all possible PnL status values and their meanings.
Troubleshooting Tips
Why are some outcome stats showing zero values?
Why are some outcome stats showing zero values?
If a trader only traded one side of a binary market, the other outcome will show zeros for all metrics. For example, if a trader only bought “Yes” shares,
outcome1Stats (the “No” side) will have:sharesHeld: "0"buys: 0,sells: 0realizedPnlUsd: "0"pnlStatus: "NEUTRAL"
What's the difference between realized and unrealized PnL?
What's the difference between realized and unrealized PnL?
The
realizedPnlUsd field shows only profit/loss from shares that have been sold (closed positions). It does NOT include unrealized PnL from shares still held (sharesHeld > 0). To calculate total PnL including unrealized gains/losses, you need to:- Get current market prices for the outcome
- Calculate unrealized PnL:
(current_price - avgEntryPriceUsd) * sharesHeld - Add to
realizedPnlUsd
realizedPnlUsd after settlement.Why is pnlStatus showing WIN but realizedPnlUsd is zero?
Why is pnlStatus showing WIN but realizedPnlUsd is zero?
The
pnlStatus reflects the overall profit/loss status for that outcome, including both realized and unrealized PnL. If a trader has an open position with unrealized gains, pnlStatus can be WIN while realizedPnlUsd is still "0" (meaning they haven’t sold yet to realize the profit).Similarly, after a market resolves favorably, pnlStatus will be WIN even before settlement is processed.What does avgEntryPriceUsd represent for closed positions?
What does avgEntryPriceUsd represent for closed positions?
The
avgEntryPriceUsd is the weighted average price paid across all buy transactions for that outcome. This value persists even after shares are sold, allowing you to understand the trader’s historical entry price. Combined with sellVolumeUsd and sellVolumeShares, you can calculate the trader’s average exit price.