Here’s the entire thesis of this newsletter in one sentence: the price is not the probability. Markets get things wrong all the time, and the edge lives in the gap between what something is priced at and what it’s actually worth.

The hard part has always been finding those gaps. You’d have to pull up a Kalshi market, then open a sportsbook, then convert the moneyline to an implied probability in your head, then compare, then do it again for the next game, and the next, and the next. By the time you’d checked fifty markets by hand, the good ones had already moved.

So I built something to do it for you. It’s live right now at theclosingline.net, it’s free, and it does one job well: it shows you where Kalshi disagrees with the sportsbooks — sorted so the biggest gaps sit right at the top.

A quick, honest heads-up before you dive in: the scanner is still in beta. It works and it’s live, but I’m actively refining the data, the matching, and the edge calculations as real traders put it through its paces. If you spot something off, that feedback is gold right now — it’s exactly what makes the tool better.

What it actually does

The scanner — labeled Kalshi vs. Sportsbooks — pulls live prices from two places and lays them side by side:

1. Kalshi. The prediction market price — what traders on a regulated exchange think a game is worth, expressed as a contract price from 1¢ to 99¢.

2. The book fair price. Using a sports-odds API, the scanner takes the sportsbook line and strips out the vig to get the fair implied probability — the book’s true read on the game with the house margin removed. That’s the “BOOK FAIR” number, and the scanner shows you which book it’s pulling from (LowVig.ag, BetOnline.ag, and others) along with the actual moneyline.

Then it does the thing nobody wants to do by hand: it converts both sides to a clean, comparable probability, computes the gap in cents, and sorts every game by that gap so the biggest disagreements are the first thing you see.

A real example: Tigers @ Astros tonight

Let me walk through a live one, because it’s the best way to show what the scanner is for.

Tonight — Tuesday, June 16, 8:10 PM ET — the Detroit Tigers play the Houston Astros. Here’s what the scanner flagged:

  • Kalshi: Astros to win at 50¢ — the prediction market is calling this game a coin flip.

  • Book fair: 60¢ — the vig-removed sportsbook line, drawn from BetOnline.ag’s −161 on Houston.

  • Edge: +10¢ — one of the biggest gaps on the entire board.

Now cross-check it against an actual sportsbook. Pull up FanDuel for the same game and its market sentiment has the Astros at 61% to win, the Tigers at 40%. That 61% lines up almost perfectly with the scanner’s 60¢ book fair number — the books, plural, agree with each other.

So we have a clean, ten-cent disagreement. The entire betting industry thinks Houston is about a 60% favorite tonight. Kalshi is pricing them as a 50/50 toss-up. Both can’t be right.

That’s the moment the scanner exists for. You didn’t have to check fifty contracts to find it. You opened the page, it was sorted to the top, and now you’re looking at a single game where the smartest money in sports betting and the prediction market flatly disagree by ten points.

Why a disagreement like this matters

Two markets pricing the same game differently is one of the cleanest signals in all of trading. Here’s the logic.

The sportsbooks have spent decades and enormous resources getting their lines right. They employ teams of traders, they move billions in handle, and their de-vigged line is one of the sharpest probability estimates available for any game. When FanDuel and the book fair number both say Houston is ~60%, that figure has a lot of work behind it.

Kalshi, by contrast, is a younger market with thinner liquidity on a lot of contracts — which means its prices can drift from the sharp number more easily, especially on markets where retail money splits a game down the middle or nobody’s bothered to move the line. We covered this in the piece on the Becker microstructure study: Kalshi prices are surprisingly accurate in aggregate, but they get noisy at the edges, and noise is opportunity.

So when the scanner flags Houston at Kalshi 50¢ versus a 60¢ book fair line, it’s pointing at one of two things:

  1. Kalshi is mispriced, and there’s a potential edge buying Houston at 50¢ when the rest of the betting world thinks they’re worth 60¢, or

  2. There’s a reason for the gap — a late scratch, a bullpen issue, a starting pitcher change the books priced first and Kalshi hasn’t caught up to — and you should figure out which before you trade.

Either way, you’re now looking at the interesting game instead of scrolling past hundreds of efficient ones. The scanner doesn’t tell you what to do. It tells you where to look, biggest gap first. That’s the whole job, and it’s the job that used to eat your entire pre-game routine.

How to use it without fooling yourself

A few honest guardrails, because a scanner that surfaces “edges” can make you overconfident fast:

A gap is a question, not an answer. A +10¢ edge on the Astros doesn’t mean free money. It means go investigate that game. Check the starting pitchers, the lineup, the bullpen, any news from the last hour. Half the time you’ll find a good reason the gap exists. The other half is where you make your living.

Mind the fees. A small edge that looks great on screen can shrink fast once Kalshi’s taker fee comes out. A ten-cent gap has room to absorb fees; a two-cent gap usually doesn’t. Run any flagged game through the fee calculator before you get excited.

Mind the liquidity. A gap on a market with no volume isn’t tradeable — you’ll move the price against yourself trying to fill. Check the Kalshi order book on the game before assuming you can get your size down at 50¢.

The book isn’t gospel. The fair line is sharp, but it’s not always right, and on some games Kalshi will be the more accurate price. The disagreement tells you they differ; it doesn’t tell you who’s correct. That part is still on you.

What’s coming next

The current scanner does the foundational thing — moneyline-level disagreements between Kalshi and the sportsbook fair price, across the day’s slate. That’s the most reliable signal and the right place to start. But it’s the first version, not the last. Here’s what’s on the roadmap.

Email and text alerts. The thing every beta tester asks for first: you shouldn’t have to sit refreshing the scanner to catch a gap. Email and text alerts are coming soon — set your threshold (say, any edge bigger than 7¢), pick your sports, and get pinged the moment a qualifying disagreement appears, so you can act while the gap is still open instead of finding it after it’s closed. This is the next feature shipping, and it’s the one that turns the scanner from something you check into something that checks for you.

Prop play deep-dives. Right now the scanner works on game-level markets — who wins. The much bigger, much messier opportunity is in player props. There are vastly more prop markets than game markets, they’re priced less efficiently because books can’t sharpen all of them at once, and the disagreements between Kalshi and the book tend to be larger and last longer. Building a scanner that can deep-dive props — strikeouts, total bases, hits, whatever the sport offers — is a major next step. More markets, looser pricing, bigger gaps.

Polymarket integration. The scanner currently compares Kalshi to sportsbooks. The natural third leg is Polymarket. When the same game trades on Kalshi and Polymarket and the sportsbooks, you get a three-way comparison — and three-way disagreements are where the cleanest cross-platform edges live. Polymarket’s on-chain structure makes the data integration more involved than a standard API call, but it’s squarely on the roadmap. The goal is a single screen that shows you, for any event, what all three markets think — and where they disagree enough to be worth a closer look.

Put those two together — prop-level granularity across Kalshi, Polymarket, and the sportsbook fair line — and you’ve got something that doesn’t really exist for retail traders right now: a unified mispricing scanner for the entire prediction-and-betting landscape. That’s the direction. The moneyline scanner live today is step one.

Why it’s free

Same answer as everything else at The Closing Line: there’s no catch. The scanner is free, the tools are free, the articles are free. The site runs on ads and on building an audience that trusts the work. The only ask is that you create a free account so you don’t lose access — and so you’re first in line when email and text alerts go live. If the scanner finds you something good, tell one person who trades.

The scanner is live now at theclosingline.net. Point it at tonight’s slate before you place anything.

When the prediction market and the betting market disagree, somebody’s wrong. The scanner just makes sure you’re the one who notices first.


The scanner is in beta. It compares live Kalshi prices against a vig-removed sportsbook “fair” line drawn from an odds API, sorted by the size of the gap. The Tigers @ Astros example reflects the scanner’s reading for the Tuesday, June 16, 8:10 PM ET game (Kalshi 50¢, book fair 60¢ via BetOnline.ag −161) cross-checked against FanDuel’s 61%/40% market — these prices move continuously and will have changed by the time you read this. A flagged gap surfaces disagreement; it does not guarantee profit. Gaps can reflect mispricing, stale data, news the books priced first, or platform-specific quirks — always investigate before trading, and always account for fees and liquidity. Email/text alerts, prop deep-dives, and Polymarket integration described above are planned, not yet live.


Try it yourself: the live Edge Scanner shows every game where Kalshi and the sportsbooks disagree right now — ranked by edge, updated continuously. It is free with an account.