The measurable delay between an on-field event changing a game's win probability and the Kalshi market re-pricing to match it. We've been logging it all season, signal by signal. Here is the full picture β including the losses.
The measurable delay between an on-field event changing a game's win probability and the Kalshi market re-pricing to match it β observable as a gap, in percentage points, between modeled win probability and the live contract price.
On Kalshi, a sports market is an event contract: a yes/no contract that settles at $1 if the named team wins and $0 if it doesn't. While the game is live, the price acts like a market-implied win probability β a contract trading at 75Β’ means the order book is collectively pricing roughly a 75% chance.
But win probability isn't set by the order book. It's set by the game. A bases-clearing double in the eighth changes the true probability the instant the ball lands. The price only changes when someone actually crosses the spread with an order. Between those two moments, the number on the field and the number on the screen disagree.
That window of disagreement is the Kalshi lag. It isn't an exotic anomaly or a glitch β it's the default behavior of a thin, human-speed order book attached to a fast-moving game. Everything DegenHedge publishes is, at bottom, a measurement of this one mechanism. If you read nothing else on this site, read this page; the alert products and the signals themselves are downstream of it.
Event contracts trade on retail order flow. That single fact drives almost everything below.
Pre-game markets attract most of the volume. Once the first pitch is thrown, resting liquidity thins out β and the fewer resting orders there are, the longer a stale price survives.
Nobody is required to keep in-game quotes current through every pitch. Quotes update when a person β or someone's bot β decides to update them, not on a clock.
See the play, process it, decide, re-price, submit the order. Add broadcast delay on top. The game state changed seconds ago; the book is still catching up.
Walk through the bases-clearing double again with this in mind. The ball lands, three runs score, and the trailing team is suddenly ahead in the eighth. The true win probability just moved by tens of percentage points in about four seconds. On the Kalshi side: some viewers are on a delayed stream, some are watching another game, some see it live but take fifteen seconds to reprice and submit. Until enough of them act, the old price just sits there β quoting a game state that no longer exists.
None of this is a criticism of Kalshi. It's structure. Any market where prices are moved by retail participants reacting to a live event will re-price slower than the event itself. The only questions are how much slower and whether you can measure it. We can, and we do.
Our MLB model computes win probability from the game state alone β run differential, inning, half, and outs β refreshed roughly every 30 seconds from live game data. In parallel, we pull the live Kalshi price for the same team. When the model's probability exceeds the market price by enough, a signal fires, and we log both numbers at that moment. At settlement, the signal grades as a win or a loss. The full model construction is on the method page, and the anatomy of a signal has a field-by-field breakdown of what gets logged.
The gap at fire β model win probability minus the Kalshi price of the picked side, in percentage points β is the measured lag. Across this season's graded MLB dataset:
| Metric | Value |
|---|---|
| Graded signals | 629 |
| Graded games (first signal per game) | 429 |
| Median gap at fire | 12.5 pp |
| Mean gap at fire | 13.5 pp |
| Maximum gap at fire | 25 pp |
| Median Kalshi price of picked side at fire | 80Β’ |
| First-signal record | 350Wβ79L Β· 81.6% β about 1 in 5.4 games is a loss |
Read the median carefully: in the typical fired signal, the model's read on the game and the market's price disagreed by 12.5 percentage points. That is not a rounding error. It's a wide, persistent, repeatedly observable spread between what the game says and what the book says β and the entire informational edge here is speed: knowing the state of the game before the price reflects it.
The same mechanism shows up outside baseball. Kalshi's 15-minute BTC markets re-price against a spot feed that moves faster than the order book: across 9,858 windows logged (9,811 resolved), the published filter (model p β₯ 0.75) has hit 92.8% over 8,276 published windows β which still means roughly 1 in 14 published windows loses.
These are pulled straight from the public log. We show losses for the same reason we show wins: the lag is a measurement, and measurements you can't audit are marketing.
| Date | Game | Situation | Model | Kalshi at fire | Gap | Final | Result |
|---|---|---|---|---|---|---|---|
| 2026-05-10 | MIN @ CLE | Bottom 11th, one-run game | 100% MIN | 75Β’ | 25 pp | MIN 2β1 | WIN |
| 2026-05-21 | NYM @ WSH | Bottom 9th | 90% NYM | 65Β’ | 25 pp | NYM 2β1 | WIN |
| 2026-05-30 | DET @ CWS | Bottom 10th | 100% DET | 79Β’ | 21 pp | CWS 4β3 (walk-off) | LOSS |
| 2026-06-14 | HOU @ KC | 4th inning | 89% KC | 66Β’ | 23 pp | HOU 8β7 (comeback) | LOSS |
The win, up close. May 10, extra innings in Cleveland, a one-run game in the bottom of the 11th. The model read Minnesota at 100% from the game state; Kalshi was still quoting MIN at 75Β’. That 25-point spread ties the widest gap in our graded set β a quarter of the contract's entire price range, sitting there in the 11th inning of a live game. Nothing clever happened next. No prediction came true. Minnesota simply closed out the 2β1 win the game state already implied, and the market caught up at settlement. That's the lag in its purest form: the signal wasn't a forecast, it was a timestamp on a price that hadn't reacted yet.
May 30, bottom of the 10th on the South Side. The model read Detroit at 100% β a certainty-grade read, the strongest output the model can produce β with Kalshi quoting DET at 79Β’. The White Sox then walked it off, 4β3. The signal graded as a loss and went into the public log like every other loss.
Sit with that: even a 100% model read lost. The model computes from run differential, innings, and outs. It does not see bullpen fatigue, who's due up, or a hanging slider. A "100%" read means the historical game states that looked like this one were essentially always converted β not that this one must be. Settlement risk never goes to zero until the contract settles. If someone tells you otherwise about any signal, close the tab.
If the lag were the whole story, the relationship would be simple: the wider the gap between model and market, the better the signal should grade. Here's what the data actually shows, bucketed by gap size at fire across all first-signal games:
| Gap at fire | Games (n) | Win rate | Loss rate |
|---|---|---|---|
| 10β15 pp | 320 | 83.8% | 16.2% |
| 15β20 pp | 82 | 73.2% | 26.8% |
| β₯ 20 pp | 27 | 81.5% | 18.5% |
The 15β20 point bucket β where the market disagrees with the model more β grades meaningfully worse than the 10β15 point bucket, with more than 1 in 4 of those games ending in a loss. Why? Because when the market refuses to move toward the model by that much, part of the disagreement isn't lag at all. It's information: an injury the model can't see, a gassed bullpen, weather, a lineup wrinkle. The order book is slow, but it is not empty-headed β market disagreement carries information the model does not have.
This is why we publish the buckets instead of hiding them, and why gap size is not a confidence dial you can crank. The lag is real and measurable; it is also entangled with real information flowing the other way. Any honest account of the mechanism has to hold both of those at once.
Contracts cost real cents at real prices β the median picked side in our dataset trades at 80Β’ when the signal fires. High prices mean small settlement upside per contract and the full stake at risk on every one.
An 81.6% first-signal win rate still means about 1 in 5.4 games loses. Your entry price, your sizing, and your discipline decide your actual outcome β at 80Β’ entries, a single loss costs roughly what four winning contracts return.
79 first-signal losses in 429 games did not show up one at a time on schedule. Losses cluster. If a run of consecutive losses at your stake size would wreck you, the stake is too big β full stop.
The lag exists because in-game books are thin and human-speed. As event markets mature and faster participants arrive, the gap can shrink. We measure what is, not what will be β past measurements never guarantee future ones.
One more thing it is not: advice. This page documents a market mechanism. Whether you act on it, on which platform, at what size, or not at all, is entirely yours.
Free, no account, no email. The proof channel at t.me/DegenHedgeProof posts every signal as a locked entry about 10 minutes after it fires β side hidden so it can't tip anyone's hand, then revealed at settlement, losses included. It has run continuously since June 13, 2026. Pair it with the public results log β sortable, every loss on display β and the raw CSV download if you'd rather run the numbers yourself. That's the whole verification loop: watch a signal appear mid-game, watch the reveal, check it against the log. You never have to take our word for anything on this page.
Paid, if you want the alerts in real time. The subscription products deliver the same signals to your Telegram the moment they fire, instead of locked-and-delayed. MLB in-game alerts are the flagship while the season is live; the BTC 15-minute product covers the crypto side of the same mechanism, and NBA alerts (last season's first-signal record: 78.2% across 55 graded games β about 1 in 4.6 lost) are offseason until late October. The full product rundown, including bundles, is on the Kalshi alerts page.
MLB in-game alerts, delivered on Telegram the moment the model and the market disagree. Every signal graded publicly β wins and losses.