Why do Kalshi and Polymarket prices differ?
Last updated: 28 August 2026
Often they do not, and the difference you are looking at is an artifact. This is how Crossbook decides two markets are the same question, what it measures between them, and every way that goes wrong.
What Crossbook does
It reads public prices from Kalshi and Polymarket, works out where the two venues are quoting the same question, and shows the difference between them. Separately, it publishes its own probability estimates on some of those questions and scores them against the market in public, permanently.
Data and how fresh it is
- Sources. Kalshi's and Polymarket's public APIs, read server-side. Nothing is scraped from their websites.
- Prices for published market pages refresh every five minutes.
- Discovery — finding new markets, retiring settled ones — runs hourly across both exchanges.
- The Kalshi index that matching searches is rebuilt nightly by walking the entire exchange, currently a little over eighty thousand contracts.
- Pages are cached for up to thirty minutes. A figure here can be minutes behind the venue, and during a venue outage it can be much older — pages say so when that happens.
How the same question is found on both venues
This is the hard part and Crossbook does not pretend otherwise. Automatic cross-venue matching is unsolved. What runs here is a deterministic ranker whose job is to shorten a shortlist, followed by a person deciding.
It works in three stages:
- Retrieval. For a market on one venue, search the index of the other for anything that could plausibly be the same question. This stage is deliberately generous — a bad candidate costs a comparison, whereas a missing one can never be matched at all.
- Ranking. Candidates are scored on how much of their wording they share, then demoted for structural disagreements: a different kind of wager (an over/under is not a moneyline), a different line (2.5 is not 3.5), a different horizon (October is not September), or a different kind of claim (winning is not placing second).
- Confirmation by a person. Nothing the ranker produces is treated as a match. A human confirms each pair before any page, any figure or any comparison uses it.
No language model is involved in matching. The ranker is ordinary code with rules you could check by hand. A model does write the forecasts, which is a separate system described in the rules.
Low-confidence candidates are demoted, never silently dropped. Hiding the ranker's weak guesses would hide its mistakes along with them, and the whole point of the confirmation step is that a person can see what it was unsure about.
What the difference means
Both venues quote a YES contract as a probability. The difference is simply one subtracted from the other, in percentage points: a market at 42% on one venue and 47% on the other is a five-point difference. Crossbook highlights differences of 4 points or more.
A difference is only shown when both venues have a genuine two-sided market. Both venues will quote a number for a contract nobody is actually making a market in, and a difference measured against that is not a small error — it is an invented one. Where one side has no real book, Crossbook prints no difference at all rather than a misleading one.
Why two venues legitimately disagree
A real difference is not automatically an opportunity. Most of the time it is one of these:
- The contracts settle differently. Two markets can ask what sounds like the same question and resolve on different sources, different cut-off times, or different definitions of the same word.
- Different settlement sources. Which authority decides the outcome, and when it publishes, varies by venue.
- Fees and cost of capital. Getting in and out costs different amounts in different places, and the price reflects that.
- Liquidity and spread. A thin book's midpoint is not a price anyone can trade at size. Two venues with very different depth will show different midpoints on identical odds.
- Who can access each venue. The two do not serve the same population, and segmented markets price differently.
- One side may not be quoted at all. Both venues publish a price for a market with no two-sided order book, and that number is a placeholder rather than a quote. Every basis figure on the screener — the count above the floor, the crossed count and the widest basis — is measured only over pairs with a real book on both legs, and the board states how many pairs that leaves. A difference measured against a placeholder is invented rather than merely wrong, which is also why Crossbook declines to generate a take against one.
- Timing. The two quotes were not necessarily read at the same instant, and on fast-moving news that alone is worth several points.
How the matching gets it wrong
Named specifically, because a methodology page that only says “no system is perfect” is not telling you anything.
- The false-divergence match. The one that produces the most convincing wrong answers. Two contracts on the same event whose titles are nearly identical but whose wager is not — an over/under total against a moneyline, or the same total at a different line. Their wording overlaps almost perfectly, so a text-similarity match scores them at or near a perfect match, while their prices are unrelated and the “difference” between them is enormous and meaningless. This is what a large, exciting-looking divergence on a sports market usually is. Crossbook now demotes these below the threshold, but the class of error is structural and the fix is a rule, not a proof.
- Same question, different horizon. “A rate cut by October” and “a rate cut before 2028” share nearly every word and are not the same bet.
- Stale quotes. A venue that stops answering leaves the last good reading on screen. Pages label this rather than hiding it, but the number is still old.
- Placeholder prices. A one-sided book quoted as though it were a price. Filtered where detected, and detection is not perfect.
- Contracts that have moved. Venues reword, split and re-list markets, and a confirmed pair can quietly stop being a pair.
How a forecast is researched
Before estimating, Crossbook searches the web for what the market turns on and assembles a brief: short factual claims, each carrying the date it is true as of and a link to the page it came from. Those sources are frozen onto the forecast and shown on its own page, so a reader can check what it was reading rather than take our word for what it knew.
The estimator is not told the price. The brief reaches it with the market's own quote removed — and with any retrieved page that merely reports that quote removed too. Probabilities implied by other instruments, such as interest-rate futures or sportsbook lines, are kept: those are evidence about the world. What is withheld is the number the forecast is supposed to be reached independently of.
A claim the model cites but did not retrieve is dropped rather than trusted, as is one it cannot date. This exists because the failure it prevents is real and is on the record: a forecast that disagreed with a market by five points on the strength of the model saying, in its own reasoning, that it could not check the facts. Crossbook now looks them up.
How forecasts are scored
Crossbook records a forecast only when its own number differs from the market by at least 3 points — anything closer is noise rather than a view, and is never recorded at all. Each is timestamped when made and never edited afterwards.
Scoring is by Brier score against the market price captured at the same moment, and the market's score on the identical set of questions is published beside Crossbook's. A forecasting score with no baseline beside it is not a claim about anything. The full ruleset is at /rules.
What Crossbook is not
- Not a signal. A highlighted difference is a prompt to go and read both contracts, not a reason to trade.
- Not advice. See the terms.
- Not an execution venue. There is no order path, no account, and no money held.
- Not affiliated with Kalshi or Polymarket.
Questions
Is Crossbook affiliated with Kalshi or Polymarket?
No. Crossbook is independent and has no relationship with either venue. It reads their public market data and names them so you know whose price you are looking at.
How often does it update?
Prices for markets with a published page refresh every five minutes. The full sweep of both exchanges, which finds new markets and retires settled ones, runs hourly. Pages are cached for up to thirty minutes, so a figure you see may be a few minutes behind the venue. Every page links to the market itself, which is always the authority.
Why is this market showing a difference that isn't real?
Usually one of three things: the two contracts were matched in error and are not the same question; one venue has no real two-sided market, so its quoted price is a placeholder rather than a price; or one of the quotes is stale. Crossbook prints no difference at all when either side lacks a genuine book, but a wrong match can still produce a difference that looks real.
Why does this say the game is tonight but the contract settles next week?
Because those are two different dates and Crossbook now shows both. The event date is when the thing happens; the contract settles when the venue pays the market out, which on Polymarket game markets is routinely several days later — across 100 live markets, 33 of the 73 fixtures settle after the event, baseball consistently by seven days. The record counts down to settlement, because that is when a forecast can be graded. The screener counts down to the event, because that is the last moment a forecast means anything. Crossbook refuses to record a scored forecast inside 48 hours of the earlier of the two, so a game already under way can never be forecast whatever its contract says.
How are forecasts scored?
By Brier score, against the market price recorded at the same moment the forecast was made. Lower is better and 0.25 is what a coin flip scores. The market's score on the identical set of questions is published beside Crossbook's, because a score with nothing to compare it to means nothing.
Can I trade from Crossbook?
No. There is no execution path of any kind. Crossbook holds no funds, places no orders and takes no positions. It links out to the venue, and everything after that link is between you and them.
Where does the data come from?
Kalshi's and Polymarket's own public APIs, read directly by Crossbook's servers. Your browser never contacts either venue, so neither of them learns anything about you from your visit here.