18+ | Gamble Responsibly | BeGambleAware.org | T&Cs Apply
V
ViktoryBet
Strategy

Kalshi vs Polymarket Odds 2026: 626 Prices

Kalshi vs Polymarket odds measured on 626 matched contracts quoted seconds apart: a median gap of half a cent, and the fee decides 38% of them.

Affiliate disclosure: contains affiliate links; we may earn a commission at no extra cost to you. We have no commercial relationship with Kalshi. 18+ only — see BeGambleAware.org. Last updated 29 October 2026.

Key takeaways

  • The two exchanges price the same game almost identically. Across 626 contracts on 412 games in 10 leagues, read inside one 23-second window, the median gap between the two mid prices was 0.50 of a cent, and 31.6% matched to the cent.
  • Cross-venue arbitrage was available on 5 of 626 contracts, by one cent, before fees. 99.2% of the gaps sat inside the two books' own spreads, so there was nothing to cross.
  • Kalshi had the cheaper ask on 49.0% of contracts, Polymarket on 12.9%, and the two were identical on 38.0%. Shopping the pair cost 41.55c a share against 42.03c at Kalshi only and 43.90c at Polymarket only.
  • Polymarket is running three different sports fee schedules at once, and its own docs list one. Every NBA game market we matched reported zero_fees; NFL and college football reported 0.03; everything else 0.05. Kalshi charged 0.07 on all eleven league series.
  • That makes the fee the tie-breaker, and it broke one way. On all 238 contracts where the asks were identical, Polymarket was cheaper once fees were added — a median 0.46c a share.

Open the same football game on both exchanges and you will usually see two different numbers, which is why every comparison guide tells you to check both and why a small industry sells you the gaps as free money. The question nobody answers with data is how big the gap really is, and whether it survives the spread and the fee. So we took Kalshi vs Polymarket odds on every game both venues were quoting — 412 games, 626 contracts, 10 leagues — and read both order books inside the same 23 seconds, then priced each contract including the fee each market itself reports. The headline: the two venues agree to within 0.50 of a cent on the median contract, and the thing that actually decides where you should buy is not the price at all.

What we measured, and how it was matched

Every comparison of these two exchanges that quotes prices quotes one or two of them, picked by hand, usually hours apart. That is not a measurement, because both books move. We matched games instead of markets: 10 leagues where both venues list the same fixture, paired by date and by team, then snapshotted every matched contract from both APIs between 14:55:26 and 14:55:49 UTC on 29 October 2026.

Two-way games contribute one contract each, the away team; three-way soccer games contribute three, home, away and the draw. That gives 626 contracts across 412 games, each with a live two-sided quote on both exchanges at the same moment. Nothing is hand-picked and nothing is averaged across time.

How close are Kalshi and Polymarket prices?

Closer than the "check both books" advice implies. Here is the whole distribution.

Gap between the two mid pricesContractsShare of 626
Identical to the cent19831.6%
Half a cent or more42668.1%
One cent or more28245.0%
Two cents or more15024.0%
Five cents or more8213.1%
Ten cents or more274.3%
Median / mean0.50c / 1.86c90th pct 6c, max 28c

Mid price is the midpoint of each venue's own best bid and best ask, read inside the same 23-second window on 29 October 2026. Both venues quoted two sides on all 626 contracts.

Nearly a third of these contracts were priced identically, to the cent, on two exchanges with different users, different rails and different settlement rules. The median disagreement is half a cent on a dollar contract. The four big European soccer leagues were the tightest: a median gap of 0.00c in the Premier League, La Liga, Bundesliga and Ligue 1 alike, on 192 contracts between them.

The tail is what gets published. The widest gap we found was 28 cents, on a college football game, and the next section is about why that number is worth nothing.

Why a 28-cent gap is not an arbitrage

Take the widest one. On West Virginia wins (cfb-wvir-txtech-2026-11-07), Kalshi was 15c bid, 20c ask. Polymarket was 10c bid, 81c ask. The mid prices are 28 cents apart. There is also no trade in it: to capture the difference you would have to buy at 20c on Kalshi and sell at 10c on Polymarket, and 10c is below what you paid. Polymarket's quote is not a disagreement about the game. It is a 71-cent-wide hole where a market should be.

That pattern holds across the sample. 99.2% of all 626 mid-price gaps were smaller than the average of the two venues' spreads, which is the formal way of saying the gap lives inside the quotes. Only 5 contracts had one venue's bid above the other's ask, every one of them by a single cent — and that is before either fee, which on a one-cent edge wipes it out twice over.

So the honest version of "price discrepancies between platforms are common" is: common, tiny, and mostly an artefact of a thin book on one side. The two-venue trade that does exist is the same-venue mispricing we measured across 716 multi-outcome fields, not this.

Where they disagree, it is a liquidity story

Sort the contracts by how much money is sitting in the Polymarket book and the divergence sorts itself.

Polymarket book liquidityContractsMedian gapPolymarket spreadKalshi spreadPolymarket markets with no volume yet
Under $5,0002961.50c17.0c5.0c89%
$5,000 - $25,0001880.50c2.0c1.0c27%
$25,000 - $100,0001190.00c1.0c1.0c6%
Over $100,000231.00c1.0c1.0c0%

Liquidity is the figure Polymarket publishes for the book; volume is lifetime traded volume on that market.

On the markets where Polymarket has a real book, the two exchanges are the same price: a median gap of 0.00c above $25,000 of liquidity. On the markets where it does not, the median gap is three times the overall figure and Polymarket's spread is 17.0 cents wide, because 89% of those markets had never traded at all.

That is also why the league table below reads the way it does. College football and MLS are the two leagues where Polymarket lists everything and trades almost none of it — 51% of all the Polymarket markets we matched had zero lifetime volume, against 22% on Kalshi — and they are exactly the leagues where Kalshi wins on price.

LeagueGamesContractsMedian gapKalshi spreadPolymarket spreadPolymarket taker rateCheaper all-in
College football2292291.00c3.0c10.0c0.03Kalshi (34% PM)
MLS29871.00c2.0c3.0c0.05Kalshi (29% PM)
Premier League20600.00c1.0c1.0c0.05Polymarket (78% PM)
Bundesliga18540.00c1.0c1.0c0.05Polymarket (61% PM)
Champions League14420.50c1.0c1.0c0.05Polymarket (67% PM)
Ligue 114420.00c2.0c2.0c0.05Polymarket (76% PM)
La Liga12360.00c1.0c1.5c0.05Polymarket (67% PM)
NHL32321.00c4.0c1.0c0.05Polymarket (78% PM)
NBA24241.00c2.0c1.0c0.00Polymarket (88% PM)
NFL20200.50c1.0c5.5c0.03Kalshi (45% PM)

Spreads are medians of each venue's own bid-ask on the same contracts. The taker rate is the one the market itself reports, not the one in the category table.

Shop the ask, not the mid

The mid price is a statistic. The ask is what you pay. Measured on the ask, the venues separate much more decisively than the mid-price table suggests: Kalshi was cheaper on 307 contracts (49.0%), Polymarket on 81 (12.9%), and the two quoted the identical ask on 238 (38.0%).

Per game, the chance that shopping finds you something is high: 307 of 412 games (74.5%) had at least one contract where the asks differed by a cent or more, and 40.8% by two cents or more. A cent on a 50c contract is 2% of your stake, which is a bigger number than either venue's fee.

Two caveats. Kalshi's ask wins cluster in the thin markets above, where its quote is better because Polymarket barely has one — useful if you want that game, not a verdict on the venue. And an ask is only worth the size behind it: we read the top of book, not the depth, measured separately on 897 Polymarket books.

The fee your market charges is not the fee in the docs

Every guide that compares these two venues on cost quotes Polymarket's published category table, where Sports is one row with one number: a 0.05 taker rate. Each market also carries its own fee fields, and reading them on all 626 contracts turns up three live sports schedules rather than one.

Fee schedule the market reportsTaker rateMaker rebateLeagues in our sampleMarkets
sports_fees_v30.0515%Premier League, La Liga, Bundesliga, Ligue 1, Champions League, MLS, NHL353
sports_fees_nfl_cfb_oct260.0315%NFL, college football249
zero_fees0.00noneNBA24
Kalshi, quadratic / quadratic_with_maker_fees0.07none (makers are charged on ten of the eleven series)all eleven league series we queried—

Read from each market's own fee fields on 29 October 2026 — feeType and feeSchedule.rate on Polymarket, fee_type and fee_multiplier on Kalshi.

So on the night we measured, every one of the 24 NBA game markets we matched reported zero_fees with a rate of 0 — Polymarket was taking nothing to trade NBA games. NFL and college football sat on a schedule whose name carries its own date, sports_fees_nfl_cfb_oct26, at 0.03. We could find no Polymarket announcement of either, and its documented Sports rate of 0.05 was correct for seven of the ten leagues and wrong for three.

Kalshi is the opposite kind of opaque. Its rate is uniform — all eleven league series we queried carry fee_multiplier: 1, the standard 0.07 — but ten of the eleven carry quadratic_with_maker_fees, which adds a charge Polymarket does not have at all. There were no scheduled fee changes on any of them when we checked. We counted 195 series-level exceptions to that uniform rate across the whole exchange; none of them is a sports game market.

All-in cost: who is actually cheaper

Both venues charge the same shape of fee — rate times shares times price times (1 minus price), peaking at 50c — so the whole comparison is the rate.

Fee scheduleRate100 shares at 10c100 shares at 30c100 shares at 50c
Kalshi, every league here0.07$0.63$1.47$1.75
Polymarket soccer, NHL, MLS0.05$0.45$1.05$1.25
Polymarket NFL and college football0.03$0.27$0.63$0.75
Polymarket NBA0.00$0.00$0.00$0.00

Both venues use the same shape: rate × shares × price × (1 − price). Polymarket publishes the sports column of this table itself; the 0.03 and 0.00 rows are ours, from the markets.

Add that to the quoted ask and the ranking shifts. Kalshi was cheaper all-in on 303 contracts (48.4%) and Polymarket on 323 (51.6%), with no ties left: once fees are in, two venues never cost the same. The fee rarely overturns a price difference, because price moves in whole cents and the fee gap is a fraction of one. What it does decide is every contract where the price is a draw — and on all 238 of those, Polymarket came out cheaper, by a median 0.46c a share. On the NBA markets, where its rate was zero, its median advantage was +1.75c a share.

Restrict the sample to the 329 contracts where both venues showed a spread of two cents or less — the ones a serious trader would touch — and Polymarket is the cheaper all-in venue 74.8% of the time, with the median gap between the two mid prices still only 0.50c.

Where you buyAll 626 contractsThe 329 with tight books on both sides
Always Kalshi42.03c37.02c
Always Polymarket43.90c36.65c
Whichever is cheaper that day41.55c36.47c

Mean all-in cost of one share bought at the quoted ask, fee included. 'Tight books' means both venues showed a spread of two cents or less.

Shopping saves 0.48c a share against always using Kalshi and 2.35c against always using Polymarket, on an average share price of about 42c. Over a season of 100-share tickets that is real money, and it costs two browser tabs.

The maker side flips the comparison again

Everything above prices a taker. Rest an order instead and the two venues are structurally different rather than marginally different.

Polymarket charges makers nothing on every sports market we read, and pays a 15% rebate out of taker fees on the two schedules that charge anything. Kalshi's standard schedule charges makers nothing either — but ten of the eleven league series we queried are on quadratic_with_maker_fees, which its own API reference describes as the general table plus maker fees at a 0.25 multiplier; MLS was the exception. Provide liquidity on these leagues and the difference is not a fraction of a cent, it is a fee against a rebate.

How to shop the pair in four steps

None of this needs a bot. It needs you to compare the right numbers, in this order.

  1. Compare asks, not mids and not percentages. The mid is an average of two numbers you cannot trade at. A venue showing 46c on the screen and a 10-cent spread is not offering you 46c.
  2. Read the spread before you believe the gap. If the cheap venue's spread is wider than the gap, the gap is the spread, and it is telling you nobody is there.
  3. Check the fee on the market, not the fee in the help pages. On Polymarket the market object carries feeType and feeSchedule.rate; on Kalshi the series carries fee_type and fee_multiplier. On the night we looked, those fields said the NBA was free and the docs did not.
  4. Then take the cheaper total. Price plus fee, on the contract you actually want, in the size you actually want.

Check the fee on the market before you take the price

The two venues agreed on price to within half a cent on the median game we measured, and still differed on cost on every single contract. The cheaper total was Polymarket's on 51.6% of them, and on every contract where the asks were level.

Visit Polymarket.com →

Affiliate link to Polymarket; we have no commercial relationship with Kalshi. 18+ only. Polymarket restricts access from the United States, Canada and other listed jurisdictions. Prediction markets carry a substantial risk of loss. Nothing here is financial advice.

My verdict on Kalshi vs Polymarket odds

Neither venue has better odds. On 626 contracts read at the same instant they were half a cent apart at the median and identical on 31.6% of them, which is what two reasonably efficient markets on the same fixture should look like. Anyone selling you a feed of ten-cent cross-venue gaps is selling you the width of an empty book.

What is genuinely different is cost, and the difference is in the fee rather than the price. Polymarket was the cheaper total on 51.6% of these contracts, on 74.8% of the liquid ones, and on every contract where the two asks were level — and its sports rates are moving around in ways its own documentation does not record. Kalshi's advantage is a book that exists in the leagues Polymarket lists and ignores, which on this night was college football and MLS. Shop both, read the fee field, and pick the venue on access, settlement and rails — not on a price difference you cannot trade.

Kalshi vs Polymarket odds FAQ

Does Kalshi or Polymarket have better odds?

Neither, in any way you can bank. On 626 contracts quoted at the same moment the median gap between their mid prices was 0.50 of a cent and 31.6% were identical. On the quoted ask, Kalshi was cheaper 49.0% of the time and Polymarket 12.9%, with 38.0% level — so the answer changes per contract, not per venue.

Can you arbitrage between Kalshi and Polymarket?

Not at retail, on this evidence. 5 of 626 contracts had one venue's bid above the other's ask, all by one cent, which both venues' fees consume. 99.2% of the price gaps were smaller than the two books' own spreads, meaning there was no price at which both legs could fill.

Why do Kalshi and Polymarket show different prices for the same game?

Usually because one book is empty rather than because traders disagree. Where Polymarket had over $25,000 of book liquidity the median gap was 0.00c; under $5,000 it was 1.50c, and 89% of those markets had never traded. The widest gap in our sample, 28c, came with a 71-cent Polymarket spread.

Which is cheaper once fees are included?

Polymarket, slightly more often than not: cheaper all-in on 51.6% of all contracts and 74.8% of the ones with tight books on both sides. Kalshi's wins cluster in college football and MLS, where its ask is better because Polymarket's book is thin. Average all-in cost per share was 42.03c at Kalshi, 43.90c at Polymarket and 41.55c if you take whichever is cheaper.

What does Polymarket charge on sports in 2026?

Its documented taker rate for the Sports category is 0.05, but the markets reported three different schedules on 29 October 2026: 0.05 on soccer, NHL and MLS, 0.03 on NFL and college football under a schedule called sports_fees_nfl_cfb_oct26, and 0 on every NBA game market we matched. Read feeSchedule.rate on the market itself rather than the category table.

What does Kalshi charge on sports games?

The standard rate, 0.07 times contracts times price times one minus price, on all eleven league series we queried: each carries fee_multiplier: 1. Ten of the eleven also carry quadratic_with_maker_fees, so resting an order can cost you there too; MLS was the exception.

Is it worth having accounts on both?

For sports, yes, for two reasons that are not the price: 74.5% of games had at least one contract where the asks differed by a cent or more, and the leagues each venue actually trades are different. Access rules differ too — Polymarket blocks several jurisdictions, Kalshi is a US exchange — so for many readers the choice is made for them.

Does the gap close as the game gets closer?

In our window, yes. Contracts on games inside three days ran a median gap of 0.50c or less, while the ones more than a week out — mostly college football, where Polymarket lists early and trades late — ran wider and carried the widest spreads in the sample.

Method and sources

Read on 29 October 2026. Matching: every open market in Kalshi's eleven game series for the NFL, NBA, NHL, college football, the Premier League, La Liga, Serie A, Bundesliga, Ligue 1, the Champions League and MLS (486 events), against every open Polymarket game event in the matching league tags (665). Pairing is by kick-off date plus team — the venues' own three-letter codes where both use them, normalised team names otherwise — requiring both teams to match and discarding any Kalshi event matching more than one Polymarket event. That paired 412 games; of the 74 left over, the largest group is Serie A (22), which Polymarket was not listing by fixture. Contract orientation comes from the Polymarket slug, which names the away side first, checked against team names on a sample across leagues.

Prices: one snapshot, 14:55:26 to 14:55:49 UTC, Polymarket first and Kalshi 11 seconds later. Mid is the midpoint of each venue's own best bid and ask; a contract is in the sample only if both venues showed a two-sided quote, which all 626 did. Fees come from each market's own fields rather than a fee page: feeType and feeSchedule on Polymarket, fee_type and fee_multiplier on Kalshi, plus Kalshi's series fee-change endpoint, which was empty.

Four caveats. One snapshot, one afternoon, in the leagues both venues happened to be quoting: a second reading would move the tails, though it would take a very different afternoon to move a half-cent median. We read the top of book, so an ask here is a price and not a fill. Contracts within one game are not independent. And Kalshi's fee schedule PDF returned HTTP 429 to us all afternoon, so its 0.07 taker coefficient is quoted from the API reference and help centre rather than re-read from the PDF today. Nothing here is financial advice.

  • Polymarket docs: Fees — the formula fee = C × feeRate × p × (1 - p), Sports at 0.05 with a 15% maker rebate, and "Makers are never charged fees".
  • Kalshi API reference: Get Series — defines quadratic_with_maker_fees as "the General Trading Fees Table with maker fees described in the Maker Fees section" at a 0.25 maker multiplier.
  • Kalshi help centre: Fees — maker fees apply to resting orders on some markets, and special events can carry their own schedule.
  • Kalshi docs: Fee Rounding — the model fee is rounded up to $0.000001, then the balance is aligned to a cent for non-direct members.
  • Allium: Kalshi vs Polymarket, two roads to the same bet (10 Sep 2026) — the best existing comparison, and one that states the pricing logic is the same on both venues without quoting a price from either.