Loading ticker...
@TheOddsGap
← Blog  ·  May 7, 2026  ·  6 min read

Kalshi vs Sportsbooks: Does No Juice Mean the Best Price?

Across the last 30 days of The Odds Gap scans (and after applying Kalshi's per-contract taker fee to every quote, since most bettors hit the ask rather than post limit orders), Kalshi has the best moneyline price 34.8% of the time it's quoting. That's the highest share of any single book in a field of 17. On spreads, the same fee math drops Kalshi's best-price share to 2.9%. On totals: 13.8%. The structural "no embedded vig" advantage is real, but it's much more of a moneyline story than the across-the-board sweep originally claimed here.

Correction, July 26, 2026. The 34.8% above no longer holds, for two reasons, and both cut against Kalshi.

The pricing was wrong when this was written. On July 20, 2026 we fixed a bug that let a Kalshi quote fall back to the bid when no ask was resting. That credited Kalshi with prices nobody could actually have filled: on one Rangers moneyline it showed -136 where the executable ask was -167. Every Kalshi number in this post was computed before that fix, so the figure overstated Kalshi on prices a user could not get.

The metric flatters whoever quotes selectively. The 34.8% counts only the snapshots where Kalshi was quoting, which rewards a venue for the markets it skips. Measured like for like, counting only games where every book in the comparison quoted the same line, Kalshi finishes last in every set we have tested, on the moneyline included: 13.7% against DraftKings, FanDuel and Pinnacle, and 11.0% in a seven-book retail field.

The structural argument in this post still stands. A venue with no embedded vig should price better than one that charges it, and the exchanges as a group do win on price. Kalshi specifically does not, once the fee and the executable ask are both applied. The current measured numbers are on Book Comparison, recomputed as the scanner runs.

The bid-fallback bug described here was the smaller half of the same mistake. The larger one, on the prop board, is written up as the exchange price autopsy, which found 19 percent of quoted exchange prop sides were derived from the opposite side of the order book rather than read from a real offer. Reading an exchange quote as a price somebody will actually sell you at is the thing both failures got wrong.

The Odds Gap pulls every major book every hour during the day (top of every hour, 7am to 9pm ET) and records which one has the best price across moneylines, spreads, and totals. The above percentages are calculated only on snapshots where Kalshi was actually quoting at the same line as the sportsbook consensus. When Kalshi's strike doesn't match (e.g., Kalshi at 4.5 while books are at 5.0), the snapshot is dropped from the comparison entirely so Kalshi is never graded against a different bet.

Methodology note up front: Kalshi charges a per-contract taker fee on the standard sports schedule of roughly 7 × P × (1 − P) cents per contract (about 1.75¢ on a coin-flip, less toward the longshot wings). The Odds Gap adds that to every Kalshi yes-ask before converting to American odds, because a typical bettor pays the ask plus the fee, not the raw market price. The raw market would put Kalshi's ML share around 43%, spread around 50%, total around 64%. Those numbers wouldn't reflect what a real bettor takes home.

After Kalshi's per-contract taker fee, Kalshi has the best moneyline price 34.8% of the time, the best spread price 2.9%, and the best total price 13.8%.
Kalshi's best-price share when quoting at the consensus line, after the per-contract taker fee. 30-day rolling scan, MLB / NBA / NHL.

Why moneyline holds up but spreads collapse

Sportsbook moneylines have a wide range of prices: -150 / +130, -300 / +250, +200 / +180. The vig spreads each side a few percentage points off fair, and Kalshi (even after the taker fee) usually beats at least one side because there's room. Kalshi loses some of its edge on close moneylines (50/50 games where the fee bites hardest), but on the numbers as measured here it was still the most-likely-to-be-best single book in the field of 17. On the corrected pricing, and counting only games where every book quoted the same line, it is not: see the correction above.

Spreads and totals are a different shape. The standard market is -110 on both sides, a tight 4.5% hold split symmetrically. Kalshi's raw price typically lands a hair better than -110 (think -100 to -107). After the taker fee, that hair-of-edge gets eaten. A Kalshi spread that was raw -100 becomes about -107 after fee, still better than -110, but if any single sportsbook in the field of 17 happens to be at -105 instead of -110 (which is common, since books shade lines based on action), Kalshi loses the comparison. Spread/total markets are won by tiny margins, and the fee is exactly the size of those margins.

The takeaway isn't that Kalshi's spreads are bad. They're competitive. They just don't outright lead the market once you factor in the cost of taking the price. If you're shopping spreads, Kalshi is one of seventeen options to check, and one of the better ones, but not a runaway leader. On the corrected pricing that is true of its moneylines as well.

What's actually different about Kalshi

Traditional sportsbooks are market-makers. They post a price, take action on both sides, and bake a spread into the line so the math works out in their favor regardless of who wins. That spread is called vig (or juice, or hold), and it's how the business funds itself. A standard NBA moneyline at -110 / -110 represents about 4.55% vig: the book keeps roughly $4.55 of every $100 risked across both sides.

That isn't a knock. It's how a sportsbook is structured. Without vig, books couldn't pay traders, manage risk, run promos, or stay in business. Every major US book charges some version of it.

Built-in vig on a standard 2-way market. Most US sportsbooks run 4–6%.
Typical built-in vig on a standard 2-way market. The fee applies on every market: moneylines, spreads, totals.

Kalshi works differently. It's not a sportsbook. It's a CFTC-regulated event-contract exchange. A market like "Will the Knicks beat the Celtics tonight?" is a yes/no contract. Two traders take opposite sides at a single agreed price. There's no house, no spread baked into the line, and the price floats to whatever supply and demand land on. Kalshi does charge a per-contract taker fee when you cross the spread (more on that just below), but there's no embedded vig in the line itself the way a traditional book has.

Kalshi recently extended this structure to multi-leg bets via a product called Combos: bundle several yes/no contracts into a single all-or-nothing position. The pricing mechanics differ from a standard sportsbook parlay (more on that in the tradeoffs below), but the no-house foundation carries through.

Maker fees, taker fees, and why Kalshi still isn't vig

Kalshi does charge fees. They just work the way exchange fees work in equities or crypto, not the way vig works at a sportsbook:

That structure is meaningfully different from sportsbook vig in two ways. First, it's largely your choice: place a limit order at your target price and wait, and the fee drops to roughly a quarter of what a taker pays. Vig isn't optional. Every bet at every sportsbook pays it in full, every time, no exceptions. Second, it's transparent and separate from the line: the contract midpoint on Kalshi reflects the market's actual probability estimate, and the fee is an explicit line item you see before you trade. A sportsbook hides its fee inside the price. You can't see the "fair" number on DraftKings without backing the hold out yourself.

That's why the percentages at the top of this post are post-fee. The earlier methodology compared Kalshi's raw market price against the books' bid-ask, which made Kalshi look like a runaway leader on every market. Once you bake in the fee a typical bettor actually pays, the picture is more nuanced. On the numbers as measured here Kalshi still won moneylines more than any single book in the field of 17, though the correction at the top of this post is the reason that no longer holds. Spreads and totals turn into closer races where the win usually goes to whichever sportsbook happens to be shading off the consensus line that day.

Kalshi runs spreads and totals as yes/no contracts too: same structural shape, same lack of embedded vig in the line. The difference is just that on -110-style markets the taker fee is large relative to the margin Kalshi's raw price beats by. So it is worth checking on every market. But don't assume Kalshi is the right pick on any of them: on the corrected pricing, measured like for like, it does not lead on moneylines either.

The compounding case

A few percent of vig per bet doesn't sound like much. Per bet, it isn't. But every wager passes through that fee (win or lose), and it applies whether you're playing the moneyline, the spread, or the total. Compounded across a season of bets, the math gets uncomfortable.

Cumulative vig paid over 200 bets at $100 each. Kalshi stays near $0; traditional books climb to ~$900–$1,100 at typical hold.
Cumulative vig paid over 200 $100 wagers, by typical hold percentage. Same fee structure applies on ML, spread, and total markets.

A bettor who wagers $100 a night across 200 nights at a market with 4.5% hold has paid roughly $900 in vig before any single ticket settles. At 5.5%: closer to $1,100. On Kalshi: zero embedded fee, plus whatever taker fees apply on the contracts that have them.

None of this is a referendum on whether traditional sportsbooks are worth it. They obviously are for plenty of bettors: boosted parlays, niche player props, and active promos all genuinely matter. It's a referendum on what shopping the line is actually buying you, market by market.

Two concrete examples

Numbers feel different attached to a real bet. Two from this past week:

NHL Flyers moneyline: Kalshi +156 vs LowVig +142. NBA Futures 76ers to win title: Kalshi +9900, DraftKings +12000, FanDuel +15000.
Same team. Same bet. Different prices. The futures example shows the gap can flip. FanDuel is the better ticket on the Sixers.

NHL, Flyers moneyline. Kalshi had the Flyers at +156. LowVig had them at +142. Same team, same game, same night. A $100 winning ticket pays $156 on Kalshi and $142 on LowVig. That's $14 of edge per $100 wagered, just for picking the better-priced book.

NBA Futures, 76ers to win title. Kalshi had the Sixers at +9900. DraftKings had them at +12000. FanDuel had them at +15000. Here the gap flips: traditional books are slower to update futures markets and end up with prices the exchange has already moved past. A $100 ticket pays $9,900 on Kalshi, $12,000 on DraftKings, and $15,000 on FanDuel.

Same team to win the same trophy. Both prices are real. Neither book is wrong in isolation, but if you've decided you want to be on Philadelphia, the FanDuel ticket pays 51% more than the Kalshi one. That's the whole point of this post, and the correction above only sharpens it: the best price genuinely lives in different places depending on the market, and the exchange is not always that place. On the corrected numbers it is not that place on moneylines either, where Kalshi finishes last once every book is measured on the same games. On spreads and totals, on most futures, the best price is somewhere else more often than not.

Why the moneyline advantage holds

Three structural reasons the moneyline was where Kalshi scored best in this data, and why the spread and total picture is closer. These explain the shape of the original result; they do not survive it as a claim that Kalshi leads:

  1. Different economics. Kalshi makes money on platform fees and float. Sportsbooks make money on hold. Different incentives, different prices on the same event. The bigger the embedded hold (moneylines with skewed underdog/favorite splits are the worst), the more room Kalshi's fair-price-plus-fee model has to win.
  2. Different risk management. Sportsbooks balance one-sided action by skewing lines. The popular side drifts away from fair so the book doesn't take all the risk; the unpopular side gets sharper. Kalshi's price reflects whoever is willing to take the other side at that exact moment, no skew necessary. On spreads and totals where books shade by ½ point rather than by price, that skew advantage shrinks.
  3. Different speed. Exchanges update tick-by-tick. Sportsbooks have traders, risk teams, and approval workflows. On futures and pre-market lines especially, that latency turns into pennies (sometimes dollars) of edge. That's why the 76ers futures gap above runs in Kalshi's favor on raw price but flips against it once you start comparing total payouts at long odds.

The honest tradeoffs

This isn't a Kalshi infomercial. There are real reasons most bettors keep accounts at multiple books:

What to do with this

If you're serious about long-run results, three things:

  1. Always shop the line. A few percent of edge per bet sounds small. Compounded across a season of wagers across all three markets, it's the entire difference between profitable and losing.
  2. Check Kalshi, don't default to it. The structural advantage is real, and on this data it showed up largest on moneylines. It is not a reason to lead with Kalshi: on the corrected pricing it finishes last on moneylines measured like for like. Treat it as one venue to check on every market, the same as any other.
  3. Don't skip traditional books. They sometimes win the line outright (the 76ers futures example earlier is one), and they own categories Kalshi doesn't: player props, exotic alts, familiar parlay mechanics (cash-out, leg voids on DNP, deterministic pricing), and active promos. Different markets, different best venues.

The Odds Gap exists to make line-shopping take three seconds instead of three minutes. Every market, every book, Kalshi included, side by side.

Try Kalshi yourself

Sign up through the link below and Kalshi gives new users a $25 bonus to start with. Test the no-juice difference on your own bets.

Sign up on Kalshi for a $25 bonus →

Who leads the market today?

Live best-price share across every sportsbook The Odds Gap tracks, refreshed hourly from 7am to 9pm ET.

Open Book Comparison →

Numbers in this post are based on The Odds Gap's 30-day rolling scan as of May 2026, with Kalshi prices fee-adjusted using the standard sports taker schedule (7 × P × (1 − P) cents per contract, where P is the contract price in dollars). For the wider question of whether any exchange beats the books on price, see prediction markets versus sportsbooks, which measures all of them on matched lines. Live data is at /books and /gaps; methodology details at /methodology#prediction-markets.

Disclosure: the Kalshi sign-up link above is an affiliate link, not an ad partnership. The data and the structural argument in this post don't change with or without it.

The Odds Gap Daily

One email each morning with the biggest gaps on the board.

Looking for live prices? Use Unlock Live at the top of the page.