Kalshi is now a book inside Line Gap
Why we ingest prediction-market prices alongside DraftKings and FanDuel, what Kalshi's no-vig pricing actually tells you, and how to read the new 'PM edge' callouts on Best Bets.
As of today, Kalshi sits in the same row as DraftKings, FanDuel, BetMGM and the rest on every NBA player-prop comparison inside Line Gap. The "Sportsbooks" dropdown has a new entry. The Best Bet callouts pick up a new line that reads something like "Kalshi disagrees (favors Under by 4.3pp vs retail consensus)."
This is a meaningful change in what Line Gap is. So it's worth saying out loud why we did it, what the prices actually mean, and how to read them.
Why prediction markets belong next to sportsbooks
A sportsbook line is a price. So is a Kalshi market. Both numbers reflect somebody's belief about a future event, scaled into something you can act on with money. The mechanics under the hood are different — the books are dealers who quote a spread you can hit; Kalshi is an exchange where users post bids and asks to each other — but the output the bettor sees is the same shape: here is a price, what's your edge.
The reason these two prices haven't lived next to each other in most products is mostly historical. Sportsbook scrapers and prediction-market scrapers grew up in different ecosystems with different APIs, different update cadences, different settlement rules. The data plumbing is genuinely annoying. So tools tend to pick one lane.
That separation made sense for builders. It never made sense for bettors.
A serious bettor wants every quoted price for a given outcome on one screen. Not retail-only. Not exchange-only. Every price. The whole game is finding the gaps, and gaps only exist when you can compare across venues.
So Kalshi is a book inside Line Gap now. Same row. Same EV column. Same best-line highlighting (with one important asterisk we'll get to).
What Kalshi's price means — and why "no-vig" matters
Kalshi has a quirk that the rest of the books don't: there's no built-in hold.
When DraftKings quotes Damian Lillard Over 22.5 points at -115 and Under 22.5 at -115, those two prices imply 53.5% + 53.5% = 107% total probability. That extra 7% is the book's juice — the structural margin they take on every two-sided market. Sportsbook pricing has vig baked in. Always.
When Kalshi quotes the same market — say, "Yes, Lillard Over 22.5" at $0.52 — the "Yes" and "No" prices on the exchange sum to $1.00. That's the no-vig math. There is no built-in margin. What Kalshi quotes is what the crowd actually thinks the fair probability is.
This sounds obviously good for the bettor, and it is. But it has a consequence inside Line Gap: if we ranked every book by EV-vs-consensus, Kalshi would win every single comparison. Always. Not because Kalshi is sharper than DraftKings or FanDuel — because retail books carry a 4-7% structural disadvantage Kalshi doesn't.
So we deliberately do not put Kalshi in contention for the Best Bet crown. The Best Bet callout keeps anchoring on the highest-EV retail book, the way it always has. Kalshi shows up as another row in the table, with a small PM badge to make its no-vig nature visible, but it can't hijack the callout.
The new "Kalshi edge" hint
The more useful thing Kalshi gives you is divergence.
When Kalshi's fair probability for Lillard Over 22.5 is meaningfully different from where the retail consensus has settled, that's information. If retail consensus says 51% Over and Kalshi crowd-trades at 58% Over, something is happening on Kalshi the retail market hasn't fully priced in yet. Could be sharp money moving early. Could be Kalshi traders reacting to a news item before the books update. Could be noise.
You decide what to do with it. We just surface it.
Open the per-prop comparison on /odds and you'll see a new line inside the Best Bet callout when Kalshi's divergence from retail consensus is ≥ 2 percentage points:
Best line: DraftKings Over 22.5 at -105 Best available line (1.2% EV vs market) Kalshi disagrees (favors Under by 4.3pp vs retail consensus)
That second line is the "Kalshi edge." Two pieces of information packed in:
- Who Kalshi favors — Over or Under, regardless of which side the Best Bet is on.
- By how much — the percentage-point gap between Kalshi's fair price and the retail no-vig consensus.
When Kalshi agrees with the Best Bet side, the callout reads in green — Kalshi's crowd-money is on the same side as the +EV retail line. That's a confluence signal: the retail market has mispriced relative to consensus, AND the no-vig market agrees with the direction.
When Kalshi disagrees, it reads in amber. You're looking at a retail line where the books and the prediction market have different views. Worth a second look before clicking.
What's now in the product
For NBA right now:
- Player props: 1,524 active Kalshi player-prop rows (points, rebounds, assists, threes, steals, blocks) flowing alongside retail. Same player FK, same prop_type, same line — they slot in cleanly.
- Game lines: Moneyline, spread, total for tonight's NBA games. Click a game card on the dashboard and toggle "Show prediction-market lines" to see them.
- Filters: Kalshi is a checkable option in the Sportsbooks dropdown.
The ingest runs every 5 minutes, the projection math (StatProb / Confidence / EV) lands within the hour, and the comparison surface stays current.
Honest limits
A few things to call out so the data tells the right story:
- Coverage is NBA-only today. Kalshi's NBA series tickers are the only ones in our ingest. NFL / NHL prediction-market expansion is on the roadmap, not in production.
- Retail game-line ingest doesn't exist yet. When you click "Show prediction-market lines" on a game card, you'll see Kalshi alone — DraftKings/FanDuel game-level moneyline/spread/total comparison ships in a future phase. We didn't want to fake a multi-book view with only one row of data.
- Spread sides can land at different strikes. Kalshi prices each side of a spread as a separate binary market, and our closest-to-retail selector currently picks per-side independently. We're tracking it as a known follow-up.
Why this matters
The longer answer is in our first post: edge is in price, not picks. Every venue that posts a price for a future event makes the market a little more honest. Lining them all up in one row makes mispricings impossible to hide.
The shorter answer: if you're serious enough to read this blog, you're serious enough to want the no-vig price in your decision. Now it's there.