โšพ Get MLB Alerts โ†’
๐Ÿ“– The Method

The Edge Is in the Lag,
Not the Model

A plain-English breakdown of the in-game mispricing we exploit on MLB and NBA markets โ€” why it exists, why it persists, and exactly how to use our alerts. The same idea powers our BTC signals; that's at the end.

In This Guide

What Is the In-Game Lag?

Kalshi runs live in-game markets on MLB and NBA games โ€” a contract on whether a given team wins, priced in cents that move as the game unfolds. You buy YES at, say, 62ยข and collect $1 if they win. The price is the market's live estimate of that team's win probability.

Here's the key insight: when the game state changes โ€” a run scores, a team goes on a run โ€” the real win probability jumps instantly. But the Kalshi line takes time to catch up. Traders are slow to reprice; the order book lags the scoreboard. We call this the Kalshi lag โ€” we've measured it across every graded game.

That gap between what the market is pricing and what the game is actually saying is the in-game lag.

The Core Opportunity

Our win-probability model recomputes the true odds from the live game state โ€” score, inning, outs, run differential (MLB) or point margin and clock (NBA) โ€” the moment anything changes. When the gap between the model and the Kalshi price is large enough, it fires an alert, while the line is still stale. You have a window to act before the market corrects.

Why doesn't the market fix this instantly? Because we're not out-handicapping anyone โ€” we're faster. The model recomputes the moment a discrete event lands (a run scores, an out is recorded), while the order book takes seconds to minutes to reprice as humans react. The edge is latency capture at retail bet size, not a smarter prediction. That's exactly why a deliberately simple model โ€” no pitcher matchups, no lineups, no park factors โ€” can still beat the line: it doesn't need to be smart, just first, and small enough that market makers don't pull liquidity.

This isn't about predicting who wins. It's about reading where the game already is and catching a market that hasn't updated yet. The same lag exists in BTC prediction-market windows โ€” that's the original DegenHedge signal, covered in section 09.


The Hedge: A Bet, Not a Hunch

DegenHedge isn't about hunches. When a contract is mispriced, you're not guessing the winner โ€” you're acting on a gap between the model's number and the market's price, before the market closes it.

If a team is worth 78ยข โ€” our model's live win probability โ€” and the market is still selling it at 62ยข, that's a 16-cent gap between the model and the price. Not a feeling about the game โ€” just math versus market. When the price already matches the model, there's no gap to act on.

Real Example

Signal fires: model says the home team has an 80% chance to win; Kalshi is pricing them at $0.62. When the price sits well below the model's number like that, you're getting more probability than you're paying for โ€” that's the setup we look for. It doesn't always look this good: plenty of signals fire when the price already sits near the model's number, where you're getting a fair price and a high hit rate, not a discount.

The "hedge" in DegenHedge is exactly this: you're hedging against the market's latency, not predicting the outcome. The market catches up eventually โ€” the question is whether you get in before it does.

We don't chase long shots. We take high-probability, repeatable positions on a fairly-priced market. Whatever edge exists is structural โ€” a timing gap, not handicapping skill โ€” and after the price you pay and platform fees, on some markets it's thin to none. To be clear: this is still wagering, and any single position can lose 100%. Section 06 is the unvarnished math.


How the MLB Alerts Work

MLB is our active focus this season. The model is a real-time win-probability engine compared against live Kalshi prices, built for baseball's discrete game structure. To see real signals walked end-to-end โ€” including how they settled โ€” read the MLB case studies.

The Model: Run Differential + Game State

Unlike basketball's continuous clock, baseball moves in discrete states. The model computes P(team wins) from three inputs:

It uses an empirical probability table of 2,232 game states (24 half-innings ร— 3 out-states ร— 31 run-differential buckets), calibrated to historical MLB run-scoring (home teams win ~54% of games, baked into the baseline). A 3-run lead in the 2nd inning is a very different thing from a 3-run lead in the 8th โ€” the table captures that precisely.

When You'll Get an Alert (V2.2 filters, live since April 26, 2026)

A signal fires when all six conditions are met at once:

  1. 3rd inning or later โ€” early innings have too much variance to differentiate from the pregame line
  2. Model win probability โ‰ฅ 85% โ€” one team must have at least an 85% chance to win (raised from 70% on April 26 to prioritize win rate over volume)
  3. Gap vs. Kalshi price โ‰ฅ 10 points โ€” the model sees at least a 10-point edge over the market (raised from 8pp on April 26)
  4. Run differential โ‰ฅ 1 โ€” no edge in a tied game
  5. Maximum gap โ‰ค 25 points โ€” extreme gaps are usually mispriced inputs, not real edges
  6. Kalshi price โ‰ค $0.90 โ€” no alerts once the market already has it above 90% (no value left)

You'll also get a pregame alert ~10 minutes before first pitch with Kalshi odds and a deep link to the game's market page.

Alert cooldown: at most one alert per game every 15 minutes. You'll typically see 1โ€“3 alerts per qualifying game โ€” about 7โ€“9 per game-night across the league.

Team Filtering & Volume Control

Filter by team with /teams in @DegenHedgeMLBbot, and tune how many alerts you get with /signals (All Action / Balanced / Best Edges Only). Selectivity changes how wide an edge we require before alerting you โ€” it does not reduce the risk on any single bet.

โšพ Live Track Record โ€” V2.2 Era (since April 26, 2026)

After the V1 filter set produced a disappointing 58% win rate (April 14โ€“25), thresholds were tightened on April 26 and the dataset reset for a clean read. Current live numbers under the V2.2 filters:

MetricValue
Resolved games467
Wins ยท Losses382 ยท 85
Win rate81.8%
Total signals fired683

Live numbers refresh every 30 seconds from /stats. Each signal is logged in the dataset.

Honest caveat: the empirical run-differential model is essentially a fast Kalshi-lag detector. It does not (yet) account for pitcher quality, bullpen state, lineup, or park factors. The win rate reflects how often the model's side wins, not independent predictive skill โ€” and whether a given signal carries an actual price edge depends on the gap to the Kalshi price. Treat every signal as a probabilistic read on a fairly-priced market โ€” never a sure thing.


How the NBA Alerts Work

The NBA system is the same idea โ€” detect when Kalshi hasn't caught up to the scoreboard โ€” with a model built for basketball's continuous clock.

The Goldman-Stern Model

It computes P(home team wins) with a normal-CDF formula calibrated from 3,685 NBA games across 3 full seasons:

P(home wins | margin M, time T) = ฮฆ((M + home_adv ร— T/48) / (ฯƒ ร— โˆš(T/48)))

In backtesting, the model hits 93.1% accuracy on its strongest halftime signals (n = 2,320 games where the model gave one team โ‰ฅ 70% win probability at halftime). Live, against real Kalshi prices, it's running 78.2% over 55 games this season โ€” a smaller, noisier sample than backtest, and we show it plainly rather than leaning on the backtest number.

When You'll Get an Alert

A signal fires when all four conditions are met at once:

  1. 2nd quarter or later โ€” no 1st-quarter alerts (too early, model needs scoring data)
  2. Model win probability โ‰ฅ 60% โ€” one team must have at least a 60% chance to win
  3. Gap vs. Kalshi price โ‰ฅ 8 points โ€” at least an 8-point edge over the market
  4. Kalshi price โ‰ค $0.90 โ€” no alerts once the outcome is already priced in

You'll also get a pregame alert ~10 minutes before tip-off with Kalshi odds and a value watch on the underdog with the most upside. Cooldown: one alert per game every 12 minutes; typically 1โ€“4 per qualifying game. Filter by team with /teams in @degenhedgeNBAbot.

MLB vs. NBA at a glance

MLB AlertsNBA Alerts
ModelEmpirical win-probability table (historical)Goldman-Stern normal CDF (analytical)
Key inputsRun differential + innings remaining + outsPoint margin + minutes remaining
Game length~3 hours (9 innings, no clock)~2.5 hours (48 minutes game time)
Alert cooldown15 minutes12 minutes
Score pollingEvery 30 secondsEvery 60 seconds
SeasonApril โ€“ OctoberOctober โ€“ April
MarketKalshi KXMLBGAMEKalshi KXNBAGAME
Telegram bot@DegenHedgeMLBbot@degenhedgeNBAbot
โš ๏ธ Live Track Record Still Building

The NBA engine launched April 2026. The Goldman-Stern model is well-studied in the literature and backtests strongly, but live performance differs from backtesting and the live sample is still small. We publish the live numbers as they accumulate โ€” same transparency standard we hold for MLB.

This is not investment or betting advice. Sports wagering involves substantial risk. Bet only with money you can afford to lose.


Reading an Alert

Every alert contains the same information, formatted the same way. Here's what a live MLB signal looks like:

Example Telegram Alert
๐Ÿšจ SIGNAL: Yankees to win (MLB ยท KXMLBGAME)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ“Š Model win prob: 86.0%
๐Ÿ’ฐ Kalshi price (Yankees): $0.62
๐Ÿ“ Edge: +24 pts (model vs market)
๐ŸŸ๏ธ Bottom 5th ยท NYY +2
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Strong edge โ€” odds move fast in-game. ๐Ÿ‘‰ Open market on Kalshi.

Field by field:

SIGNAL โ€” which team: The team our model says is underpriced. On Kalshi you buy the YES contract for that team โ€” just tap the matching market.

Model win prob: The model's live probability that team wins, from the current game state. 85% or higher (MLB) clears our threshold; the higher it is, the more the model likes it.

Kalshi price: What that team's contract is trading at right now. In the example, the Yankees are at $0.62 โ€” the market implies a 62% chance. Our model says ~86%. That difference is the edge.

Edge (pts): The gap in percentage points between the model's probability and the market's price. A +24-point edge means the model's probability sits well above the contract price โ€” the bigger the gap, the more underpriced the contract looks relative to the model. Gaps below ~10 points usually aren't worth acting on after fees.

Game state: Inning/quarter, score, and run differential (or margin), so you can sanity-check the signal against what you see on the broadcast.

Bottom-line message: A short line tuned to the setup. Solid edges read "Strong edge โ€” odds move fast in-game." Thinner or riskier setups get more careful wording, e.g. "Tight pricing โ€” verify the live price before any trade." We never tell you to "skip" or "don't bet" โ€” that's your call, and the numbers above the line are what you'd use to make it.


What Our Win Rate Actually Means

We show you the live win rate. We tell you the model is well-calibrated. Both are true. Neither protects you on any individual bet. This is the section nobody likes to read, and the part you most need to understand before you risk real money.

The asymmetric P&L profile

A Kalshi contract is a $1 binary. When you buy one for less than $1, you're in an asymmetric trade:

Buy at WIN: you make LOSE: you lose Win rate to break even
$0.50$0.50 (100%)$0.5050%
$0.62$0.38 (61%)$0.6262%
$0.80$0.20 (25%)$0.8080%
$0.90$0.10 (11%)$0.9090%
$0.95$0.05 (5%)$0.9595%

The higher the price, the more often you have to be right just to break even. The whole game is buying a team for less than its true win probability โ€” which is exactly what the "Edge" number in each alert measures.

What a High Win Rate Actually Means

Our MLB model is running about an 81.8% win rate over 467 resolved games (NBA ~78.2% over a smaller sample).

It also means you will lose, on average, about 1 in every 6 bets you take.

The math doesn't care which 1-in-6 it is. Sometimes it's your first bet. Sometimes two or three in a row. Sometimes you win eight straight then drop two. Variance feels personal but it isn't โ€” each signal is independent. Two losses in a row at an ~81.8% win rate happens roughly 1 in every 25 bets; it's uncommon, not weird.

What discipline does (and doesn't) buy you

A high win rate is not the same as a profit. You only come out ahead over many bets when the price you pay is below the model's win probability โ€” and even then only if:

  1. You take many bets. Someone who bets twice and quits after a loss never sees the convergence.
  2. You size so a losing streak can't bust you. A run of losses will happen eventually. If your bankroll can't absorb it, you're out before the math works.
  3. You bet the system, not your gut. Adding "but I think the other team is due" to the model's signal makes you worse than the model alone.

Subscribers who stay disciplined on all three give back the least; the ones who blow up usually fail on #2. None of it turns a fairly-priced market into a promise of profit.

โš ๏ธ The hard truth

The live numbers are honest and logged โ€” win rate and price, both shown. Where the price runs below the model's number there's a real edge; where it doesn't, you're getting a fair-priced, high-hit-rate market, not a profit engine. We also have a product where you will lose 100% of an individual bet roughly 1 in 5 times, sometimes in clusters. If that frightens you more than the long-term math attracts you, this is not the right product for you โ€” and we'd rather you know that now.

This is not investment or betting advice. Past performance does not guarantee future results. Bet only with money you can afford to lose.


Bet Sizing & The Sweet Spot

This is the section most people skip โ€” and it's where bankrolls get hurt. Knowing when a signal fires is only half the picture. Knowing how much to bet โ€” and when the price makes a bet not worth taking โ€” is what protects you when the losing streaks come.

The rule is simple: the contract price is the break-even win rate. You only have positive expected value when the model's win probability is higher than the price. Here's the EV per $1 bet for a signal where the model gives a team an 80% chance to win, across different Kalshi prices:

Kalshi price Implied edge Expected profit per $1 Verdict
$0.55+25 pts+$0.45๐Ÿ”ฅ Sweet Spot
$0.62+18 pts+$0.29โœ“ Strong
$0.70+10 pts+$0.14โ†’ Solid
$0.78+2 ptsโ‰ˆ break evenโ€” Thin
$0.85+negativeโˆ’$0.06โ€” Pass or tiny size
The Key Insight

The alert shows you a price and an edge. Together they tell you exactly how much value you have. Buying an 80%-likely team at 62ยข is real, repeatable edge. Buying the same team at 85ยข is paying more than it's worth โ€” even though it'll usually still win. EV = (model win prob รท price) โˆ’ 1.

Your base unit: set it at 1โ€“2% of your betting bankroll. Running $500? That's $5โ€“$10 per signal. Never more than 5% on a single game, even on premium edges.

Lean into the gap: bigger edge โ†’ bet your full base unit; thin edge โ†’ keep it small or pass. Every alert hands you the edge number so you don't have to do the math live.

Don't chase losses: two or three losses in a row at this win rate is statistically normal. It's not a sign the edge is broken. Stay the course.


Discipline: When to Pass

Not every alert demands action. Part of the method is your own judgment about when conditions aren't right โ€” even when the model's win probability is high. When you might choose to pass:

You can't get a fill. If the Kalshi market for that team is thin (little size available at the price shown), you'll move the price just by placing your order and the edge evaporates. Pass.

Something just changed that the model can't see yet. A pitcher just got pulled, a star just left with an injury, a long rain delay โ€” game-changing context the win-probability table doesn't ingest. Treat the signal with skepticism.

The game already moved. Our model reads the state at signal time. If you open the broadcast and the score has already changed since the alert, the price may have corrected โ€” trust your eyes and re-check the live number.

You can't act promptly. In-game edges close as the line catches up. If it'll take you a few minutes to get to the right market, the gap may be gone by the time you're there.

The Discipline Principle

Missing a winning signal stings a little. Betting into bad conditions can hurt a lot. Being selective is not the same as being scared. Signals come multiple times a night โ€” there's always another bus.


BTC Signals

Before the sports models, DegenHedge started with Bitcoin prediction-market signals โ€” and they're still live on Kalshi's 15-minute BTC up/down market. The core idea is the same lag, applied to a different clock.

In the final 45โ€“120 seconds of a window, the outcome is often already clear from the price action โ€” but the market hasn't repriced. Our Bayesian model quantifies how mispriced the window is and fires when the gap is big enough. It's a microstructure detector, not a prediction engine: we measure when the order book is slow, not where BTC is going.

Two BTC-specific wrinkles

Razor-flat windows. When BTC has barely moved from the window open, the close comes down to settlement-source noise โ€” closer to a coin flip on direction. Alerts flag "โš ๏ธ Razor-flat window"; treat those as a much weaker setup and size down.

Gap zones run opposite on Kalshi vs. wider markets. On Kalshi's BTC market, the tight 0-to-+3-point gap zone is actually the strongest (~94% win rate); very wide gaps tend to mean the market knows something the historical table doesn't. Each alert labels the gap zone so you don't have to memorize it.

Lifetime, the Kalshi BTC signals run about 92.8% across 8,946 logged signals. BTC signals are available ร  la carte at $19.99/mo, or bundled into All-Access.

Ready to Put This Into Practice?

Start with MLB, add NBA, or go All-Access (BTC included).

See Plans & Subscribe โ†’

Built by humans who can show you the math. No AI black box.