← Back to blog

Are There Free Arbitrages Between Polymarket and Kalshi? We Checked — Mostly No

By ZenHodl. Dataset documentation, research and model evaluations are linked in the article. A separate filtered ledger of bot-attributed trades, including losses and its admission rules, is public at /results.

The pitch is seductive: the same MLB game has a moneyline on Polymarket and on Kalshi. If the two prices ever diverge, you buy the cheap one, sell the rich one, and collect the difference risk-free. Cross-venue arbitrage, all day long.

We built the dataset to test exactly this — a matched book: sampled top-of-book observations for the same dated game on both venues, stitched onto one timeline. Settled games carry outcomes; unresolved games remain explicitly unlabeled. The original analysis measured quoted cross-spreads under declared cost assumptions. It did not verify simultaneous fills. The figures below are a historical June summary, not a current venue-wide opportunity rate.

First, the sample-size trap

Our matched MLB book over June 21–23, 2026 has 57,757 rows. It would be easy — and dishonest — to call that the sample size. It isn't.

Those 57K rows are mostly the same book re-snapshotted while nothing changed. Collapse to distinct quote-states and you have 3,198 of them — just 5.5%. Time-weight the exposure and you have roughly 530 observation-hours across 30 games (29 settled). These are distinct denominators: rows, quote-states, observation-hours and games. None is automatically an independent sample size. Every statistic below is computed on quote-states and time-weighted exposure, never raw rows. If a vendor quotes you "57,000 data points of arbitrage analysis," now you know what that actually means.

The mid-gap looks juicy. The quoted cross-spread doesn't.

Polymarket and Kalshi mids agree to within 0¢ median / 0.53¢ mean — they track each other at 0.9964 correlation. So far, no free money: a tiny average gap is what an efficient pair of venues should look like.

The mistake is to "trade the mid gap." You can't trade the mid — you cross the spread on both venues. The quoted cross-spread before fees, size and simultaneous-execution checks is:

edge = max(kalshi_bid − poly_ask,  poly_bid − kalshi_ask)

Measured that way, the median quoted edge is negative (~−1¢): on a typical quote-state the displayed spread starts against you. After an assumed 3–5¢ round-trip cost floor, a positive quoted opportunity appears in only 0.39% of time-weighted exposure — and 92.8% of those rare >3¢ windows disappear by the next ~30-second sample. This dataset does not prove those quotes were simultaneously fillable.

Neither venue is even systematically sharper: per-venue Brier scores are 0.2141 vs 0.2142 — a tie to four decimal places.

Where the big gaps come from (and why they're a mirage)

The largest cross-venue gaps in the data — 10¢ to 37¢ — look like the jackpot. Stale quotes and capture alignment are possible explanations, but the quote-only analysis does not identify the cause of every gap or establish whether a particular order could have filled. A backtest must not book the displayed difference as verified profit.

What we're not claiming

Why an honest "no" is worth paying for

This is the whole value proposition of the matched book inverted. This small study illustrates why a mid-price gap is insufficient to evaluate a trade. It does not establish what most traders experience or a universal absence of arbitrage.

Reproducing the multi-game figures requires the original input window and analysis code. The free score-synced matched-book sample is on Hugging Face and Zenodo (DOI 10.5281/zenodo.20816908) — one game per file, both venues, winner labeled. Use the sample to inspect the quoted-spread calculation. It is not the entire three-day study. The matching schema permits nearest-time matches, including future observations; a causal analysis needs a declared backward-only rule and quote-age checks.

For the capture method, see how to get historical Polymarket order-book data. To inspect the data used for this test, see the Polymarket–Kalshi MLB matched book.

Related reading

Get ZenHodl Weekly

Dataset releases, research notes, and public results, including corrections.

Research and dataset updates from ZenHodl.

Test cross-venue execution assumptions

Compare executable bids and asks across both venues instead of backtesting on mids.