Skip to main content
Prediction Market data is currently in beta. It is actively being worked on and improved, but may be unreliable. Polymarket and Kalshi data are live.At least for the time being, this endpoint requires a Growth or Enterprise plan. Learn more.
Kalshi has limited trade data. When querying Kalshi trades:
  • No traderId filtering: Individual trader information is not exposed
  • No BUY/SELL distinction: All trades show as TRADE type (no direction information)
  • No trader identity: The maker and traderId fields will be null or unavailable
These limitations are due to privacy considerations on Kalshi’s CFTC-regulated exchange.
This endpoint requires a Growth or Enterprise plan. Learn more.

Returns

PredictionTradesConnection
See PredictionTradesConnection

Arguments

PredictionTradesInput!
required
Input parameters used to filter prediction trades. See PredictionTradesInput

Example: Get recent trades for a market

Test this query in the Explorer →
Example Response (truncated)

Example: Get trades for a specific trader

Example: Get trades for an event

Example: Pagination

Usage Guidelines

  • Required: You must provide at least one of marketId, eventId, or traderId (note: traderId only works for Polymarket)
  • ID formats:
    • marketId:
      • Polymarket: <marketAddress>:Polymarket:<exchangeAddress>:<networkId> (e.g., 0x25aa90b3cd98305e849189b4e8b770fc77fe89bccb7cf9656468414e01145d38:Polymarket:0xc5d563a36ae78145c45a50134d48a1215220f80a:137)
      • Kalshi: <marketSlug>:Kalshi (e.g., KXMVECROSSCATEGORY-S2026A4A05B370DF-F1FBA451AA9:Kalshi)
    • eventId:
      • Polymarket: <eventSlug>:Polymarket:<exchangeAddress>:<networkId> (e.g., 67284:Polymarket:0xc5d563a36ae78145c45a50134d48a1215220f80a:137)
      • Kalshi: <eventSlug>:Kalshi (e.g., KXMVESPORTSMULTIGAMEEXTENDED-S2026350C4EF9BCE:Kalshi)
    • traderId: Polymarket only - <address>:Polymarket (e.g., 0x742d35cc6634c0532925a3b844bc9e7595f0beb6:Polymarket)
  • Use cursor for pagination to fetch additional results
  • limit controls how many trades to return per request (max varies by plan)
  • Trades are returned in reverse chronological order (most recent first)
  • Each trade includes both the trade details and associated market information
  • transactionHash is available for Polymarket (on-chain) but may be null for Kalshi

Understanding Trade Types

See the PredictionTradeType enum for all possible trade type values and their meanings. Platform differences:
  • Polymarket: Shows detailed trade types (BUY, SELL, BUY_COUNTERPARTY, SELL_COUNTERPARTY) - each trade has two records for both sides
  • Kalshi: Only shows TRADE type with no buy/sell distinction due to privacy limitations on their regulated exchange

Troubleshooting Tips

Each trade has two sides - the original trader and the counterparty. If a trader buys, their record shows BUY while their counterparty’s record shows BUY_COUNTERPARTY. This allows you to track both sides of every transaction.
maker is the raw wallet address, while traderId is a composite ID that includes both the wallet address and the protocol. Use traderId for querying, and maker if you need just the wallet address.
The API doesn’t support time range filtering directly. You’ll need to fetch trades and filter by timestamp on your end. Trades are returned in reverse chronological order, so you can stop fetching once you reach your desired time range.
Sum the amountUsd values for all trades where tradeType is BUY or SELL (not the counterparty types) to avoid double-counting.
The transactionHash is the on-chain transaction ID. You can use it to look up the transaction on a block explorer like Polygonscan (for Polymarket, which runs on Polygon).