Skip to content

Methodology

Plax compares what different prediction markets charge for the same outcome. This page explains exactly how, and where the comparison can mislead.

How pairs are chosen

Every pair is matched by hand and kept in a file in the project. There are 16 today. A pair is added only when both markets ask the same question, resolve in the same window, and use compatible rules. We read each venue's resolution rules before adding a pair, and note any differences on the event page.

Automatic matching by title is unreliable. Two markets can look the same and still resolve differently. For example, one venue's “Anthropic IPO before 2027” resolves when an IPO is announced, while another's resolves when the IPO actually happens. We left that pair out: the prices answer different questions, so their gap means little.

Some pairs are close but not identical, such as two Bitcoin markets that read different price indexes, or a Senate race where one venue resolves on the election result and the other on who is sworn in. Those are kept, with the difference noted, because the gap is still informative.

How prices are read

Both venues are read through their public, read-only APIs: Polymarket's Gamma API for market prices and its CLOB API for history; Kalshi's Trade API for markets and hourly candlesticks. No account or API key is used.

Every price is turned into a yes probability between 0 and 1 with one rule for both venues: the midpoint of the best bid and ask when they are 10¢ or less apart, otherwise the last traded price. This avoids showing a stale trade when the order book has moved, and avoids a meaningless midpoint when the book is very wide.

24-hour volume is in US dollars. Polymarket reports it directly. Kalshi reports contracts, so we multiply by the current yes price. That makes Kalshi volume an approximation.

How the gap is computed

Gap = Polymarket yes probability − Kalshi yes probability, in percentage points, rounded to 0.1. If Polymarket prices yes at 62% and Kalshi at 57%, the gap is +5.0pp. A negative gap means Kalshi prices yes higher.

The screener sorts by the absolute gap, so the largest disagreements come first in either direction. Gaps of 5pp or more are highlighted. The history chart aligns both venues on an hourly grid and computes the gap at each hour where both have a price.

Data delays and staleness

Prices are fetched on our server and refreshed in the background every 30 seconds, and open pages update themselves on the same rhythm. What you see is usually under a minute old; every price shows when it was last updated. Price history refreshes about every minute, and news every 15 minutes. Polymarket's own data can lag its order book by a minute or two.

A gap is marked stale when either price is more than 10 minutes old. Kalshi's API doesn't say when a price last changed, so for Kalshi we use the time we read it. If a venue stops responding, its last known price stays on screen and is flagged stale once it ages past 10 minutes. If we have no price at all, that venue is shown as unavailable and no gap is computed.

News

When enabled, each event shows headlines from the past few days that match its keywords. A headline next to a move is a lead to check, not evidence that it caused the move. Headlines come from a third-party news index, are refreshed every few hours, and may be incomplete or up to a day late.

Limitations

  • A gap is not free money. Fees, bid/ask spreads, deposit and withdrawal costs, and the time until resolution can all exceed it.
  • Liquidity differs. A thin market can show a large gap that disappears after one small trade. Check volume and the order book on the venue.
  • Rules can differ in small ways, such as the resolution source, cutoff time, or treatment of edge cases. We note what we find, but you should read the rules on each venue.
  • Access differs. The venues have different eligibility rules by country and state, which keeps some gaps open.
  • Data can be delayed or wrong. We show what the venues' public APIs report, a minute or so behind. Always confirm on the venue before acting.

Plax is not affiliated with Polymarket or Kalshi. Read the risk disclaimer.