Skip to main content
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.

Returns

Arguments

Example Query

Get last 30 daily bars using countback:
{
  predictionEventBars(input: {
    eventId: "67284:Polymarket:0xc5d563a36ae78145c45a50134d48a1215220f80a:137"
    from: 0
    to: 1772658000
    resolution: day1
    countback: 30
    removeEmptyBars: true
  }) {
    eventId
    predictionEvent {
      question
      status
    }
    bars {
      t
      volumeUsd
      totalVolumeUsd
      venueVolumeUsd
      trades
      uniqueTraders
      lastEventTimestamp
      liquidityUsd {
        o
        h
        l
        c
      }
    }
  }
}

Example Response

Example Response (truncated)
{
  "data": {
    "predictionEventBars": {
      "eventId": "67284:Polymarket:0xc5d563a36ae78145c45a50134d48a1215220f80a:137",
      "predictionEvent": {
        "question": "Fed decision in March?",
        "status": "OPEN"
      },
      "bars": [
        {
          "t": 1772582400,
          "volumeUsd": "4906325.281156",
          "totalVolumeUsd": "112199853.153373",
          "venueVolumeUsd": "209027531.42911",
          "trades": 6336,
          "uniqueTraders": 2226,
          "lastEventTimestamp": 1772668739,
          "liquidityUsd": {
            "o": "8244955.561824",
            "h": "13362151.737655",
            "l": "7993263.732354",
            "c": "13127851.388841"
          }
        }
        // ... 29 more bars
      ]
    }
  }
}

Usage Guidelines

Bar data provides time-series OHLC (Open, High, Low, Close) aggregates for prediction events. Each bar represents a specific time period and includes volume metrics, liquidity snapshots, open interest, and trader activity. Key characteristics:
  • Event ID format: The eventId format varies by platform:
    • Polymarket: <eventSlug>:Polymarket:<exchangeAddress>:<networkId> (e.g., 67284:Polymarket:0xc5d563a36ae78145c45a50134d48a1215220f80a:137)
    • Kalshi: <eventSlug>:Kalshi (e.g., KXMVESPORTSMULTIGAMEEXTENDED-S2026350C4EF9BCE:Kalshi)
  • Time-series format: Each bar has a timestamp (t) representing the start of the period
  • OHLC structure: Metrics like liquidityUsd and openInterestUsd contain o, h, l, c values
  • Multiple resolutions: From 1-minute to 1-week intervals
  • Volume tracking: Separate buy/sell volumes in both USD and collateral tokens
  • Trader metrics: Track unique traders and trade counts per period

Troubleshooting Tips

Bars are only created when there’s activity during that time period. Use removeEmptyBars: false to include zero-activity bars in the response. This is especially important for charting applications that need continuous time series.
Net volume = buyVolumeUsd - sellVolumeUsd. A positive value indicates more buying pressure, while negative indicates more selling pressure. This can be useful for identifying sentiment shifts.
  • volumeUsd: Volume during this specific bar period
  • totalVolumeUsd: Cumulative all-time volume as of the bar close
  • venueVolumeUsd: Cumulative volume as reported by the venue (may differ due to timing)
Unlike price data, liquidity OHLC represents snapshots taken during the period, not transaction values. High values indicate peak liquidity, low values indicate liquidity drops. These can help identify periods of market stress or high activity.
  • min1, min5, min15: For real-time monitoring and high-frequency analysis
  • hour1, hour4: For intraday trends and active market analysis
  • day1, week1: For long-term trends and historical analysis
Consider your data retention needs and query performance when choosing resolution.
The number of unique trader addresses that executed at least one trade during the bar period. This metric helps gauge market participation breadth. A high volume with low unique traders may indicate whale activity.
countback lets you request a specific number of bars working backwards from the to timestamp. When using countback, the from parameter is still required but effectively ignored. This is useful for “last N periods” queries without calculating timestamps.