Start signals โ€” $19.99/mo โ†’
๐Ÿ“– The Method

The Edge Is in the Order Book,
Not the Model

A plain-English explanation of the structural mispricing we exploit, why it persists, and exactly how to use our alerts to maximize your results.

In This Guide

What Is the Window Lag?

Kalshi and Polymarket run BTC prediction markets in fixed windows โ€” 15 minutes on Kalshi, 5 minutes on Polymarket. At the end of each window, the contract resolves: did BTC close higher or lower than it opened? You buy YES or NO, and you get paid $1 if you're right.

Here's the key insight: the outcome of most windows is already determined long before the clock runs out. If BTC has been falling steadily for 4 minutes of a 5-minute window, and there are 45 seconds left, the outcome is almost certain. The price just has to stay down for 45 more seconds.

But the market odds don't reflect this. People are still buying and selling NO contracts at 30ยข, 35ยข โ€” prices that imply real uncertainty โ€” when any honest read of the price action shows the move is over. That gap between what the market thinks and what's actually happening is the window lag.

The Core Opportunity

Our Bayesian model monitors BTC in real time and quantifies exactly how mispriced the market is at any given moment. When the gap is large enough and our confidence is high enough, it fires an alert. You have 45โ€“120 seconds to act before the market corrects โ€” or the window closes.

This isn't about predicting where BTC will go. It's about recognizing where it already is and catching prediction markets that haven't updated yet.


The Hedge: Why This Isn't Gambling

Most people think prediction market trading is gambling. Sometimes it is. But there's a category of trade that isn't โ€” and that's what we're doing.

When you buy a contract that's mispriced, you're not speculating. You're arbitraging. If something is worth 74ยข and you can buy it for 26ยข, that's not a bet โ€” that's a purchase at a discount.

The "hedge" in DegenHedge refers to this: we're not betting that BTC will go up or down. We're buying contracts that are already resolved in everything but the paperwork. The risk isn't BTC's direction โ€” it's whether the market stays mispriced long enough for you to get your fill.

Real Example

Signal fires with 92% DOWN confidence. DOWN contract trading at 26ยข. Market implied probability = 26%. Our model says actual probability = 92%. You're buying 92ยข of expected value for 26ยข. That's a 66-cent edge on a $1 contract. Do that 50 times at $20/trade and the math takes care of itself.

This is why we call it a hedge: you're hedging against the market's latency. The market will catch up eventually. The question is whether you can get in before it does.

Pure gamblers chase long odds hoping to score big. We take the opposite approach: high-confidence, small-edge, repeatable wins. The edge is structural, not predictive. It doesn't require you to know anything about Bitcoin.


Why Algo Traders Can't Exploit It

If this edge is real and repeatable, you might wonder: why hasn't it been arbitraged away by sophisticated algorithms? The answer reveals something important about how these markets actually work.

Retail algorithmic traders absolutely see the same price signals we see. Some have built bots that attempt exactly this trade. But they consistently fail to capture the edge โ€” for one structural reason: market makers on Kalshi and Polymarket refuse to fill large orders near resolution.

Market makers are the counterparty to your bet. They quote you prices and take the other side. Near window resolution, they know the same thing you know: the outcome is increasingly certain. If a bot floods in with a $500 order for NO contracts at 26ยข when resolution is 45 seconds away, the market maker has one rational response โ€” withdraw liquidity.

This is what always happens. The order book thins out. Slippage explodes. The bot ends up buying NO at 40ยข instead of 26ยข, wiping the edge entirely. Or the order doesn't fill at all.

The Human Advantage

A human placing a $20โ€“$50 order looks like a regular participant making a decision. It doesn't trigger the market maker's pattern detection. The edge is structurally protected at retail bet sizes. This is unusual โ€” most market inefficiencies favor large capital. This one specifically rewards small, fast, human-executed trades.

There's also a behavioral layer: most retail traders on these platforms are making directional bets much earlier in the window, when there's genuine uncertainty. Very few people are watching the clock and reading the price action in the final 60 seconds. The crowd that creates the mispricing doesn't know the window is ending. You do.

As long as market makers protect liquidity from bots and retail traders remain inattentive near resolution, this edge will persist. Our job is to be the system that tells you exactly when the gap is large enough to be worth acting on.

What this is not

Not an AI black box. The math is on this page โ€” the Bayesian thresholds, the gap-zone calibration, the win-rate buckets. Look at it.

Not a prediction engine. It's a microstructure detector โ€” we measure when the order book is slow, not where BTC is going.

Not a "lock" service. You will lose about 1 in 7 bets, sometimes in clusters. See section 05 for the unvarnished math.


Reading an Alert

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

Example Telegram Alert
๐Ÿšจ SIGNAL: DOWN (Polymarket 5-min)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ“Š Model confidence: 88.3% DOWN
๐Ÿ’ฐ Market price (DOWN): $0.24
๐Ÿ“ Gap: +27% (model vs market)
โฑ๏ธ Window closes in: 52 seconds
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Act fast. Suggested: buy DOWN on Polymarket.

Let's break down each field:

SIGNAL: UP / DOWN: The contract our model is telling you to buy. DOWN means BTC will close below the window open. UP means BTC will close above. On both Kalshi (Prediction mode) and Polymarket, the contracts are labeled UP and DOWN exactly as shown โ€” just tap the matching button on the platform.

Model confidence: The Bayesian probability output. 88.3% means the model sees an 88% chance of DOWN resolution based on current price action, order flow, and momentum. Above 85% is high confidence. Above 90% is exceptional.

Market price: What the DOWN contract is currently trading at on the platform. In the example, DOWN is at $0.24 โ€” meaning the market implies only a 24% chance of DOWN. Our model says 88%. That 64-point gap is the edge.

Gap %: The percentage-point difference between the model's probability and the market's implied probability. A +27% gap means the contract is significantly mispriced in our favor. Gaps below 10% are usually not worth acting on after fees.

Time remaining: How long until the window closes. Act immediately โ€” this number is falling fast.

Bottom line message: A short cautionary line tuned to the setup. Solid edges read "Act fast" or "Strong edge โ€” odds move fast in-game." Thinner or riskier setups get more careful wording: "Tight pricing โ€” verify the live price before any trade," or "โš ๏ธ Razor-flat window โ€” historically ~76% WR at this move size, treat smaller than usual," or "โš ๏ธ Price unavailable โ€” confirm on Kalshi before any trade." We never tell you "skip" or "don't trade" โ€” that's your call, and the data above the line is what you'd use to make it.


What 86% Actually Means

We tell you the lifetime 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 talk about, and the part you most need to understand before you place real money.

The asymmetric P&L profile

When you buy a contract for less than $1, you're entering an asymmetric trade:

Buy at WIN: you make LOSE: you lose Required WR to break even
$0.50$0.50 (100%)$0.5050%
$0.65$0.35 (54%)$0.6565%
$0.80$0.20 (25%)$0.8080%
$0.90$0.10 (11%)$0.9090%
$0.95$0.05 (5%)$0.9595%

The higher the contract price, the more accurate the model has to be just to break even. This is why our alerts include a "Tight pricing" warning when the price exceeds 95ยข โ€” at that point, even an 80%-accurate model loses money over time.

What "86% lifetime win rate" actually means

Our model has won 1,170+ of its last 1,358 high-confidence signals. That's an 86.2% win rate over a real, statistically significant sample.

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

The math doesn't care which 1-in-7 it is. Sometimes it's your first bet. Sometimes three in a row. Sometimes you go 14 wins straight then drop two. Variance feels personal but it isn't. Probability doesn't care about streaks โ€” every signal is independent.

Two losses in a row at an 86% accurate model has probability ~2%. That's uncommon but not weird โ€” it'll happen on average once every 50 bets you take. Six losses in a row has probability ~0.0008%. If that ever happens to you, the model probably has a temporary issue (which is why we monitor it actively).

The "razor-flat window" trap

There's one specific pattern where the headline 86% breaks down: when BTC has barely moved from the window's open price.

BTC move at signal time Realized win rate Sample size
< 0.05% (razor-flat)76%n = 178+
0.05โ€“0.10% (slight)90.5%n = 295
0.10โ€“0.20% (moderate)95.5%n = 374
0.20%+ (clear move)99.6%+n = 276

When BTC is flat, the close depends on settlement source noise (Kalshi and Polymarket both use Coinbase TWAPs, but the exact second they sample matters). The model can read "this looks like a DOWN setup" but the actual outcome is barely above coin-flip on direction.

Our alerts now flag razor-flat windows explicitly. When you see "โš ๏ธ Razor-flat window" in an alert, treat it as a 76% setup, not an 86% one. Bet smaller or skip.

Reading the Gap โ€” and why Kalshi and Polymarket are opposite

The Gap field in every alert tells you a single thing: how much more confident our model is than the market's order book. It's the difference between our Bayesian probability and the market's implied probability (the contract price).

The naive intuition is: bigger positive gap = bigger edge = better bet. That intuition is correct on Polymarket. It's wrong on Kalshi โ€” and the data is striking.

Gap zone Kalshi WR Kalshi EV/$1 Polymarket WR Polymarket EV/$1
Tight positive (0 to +3%)94.3%+$0.15395.8%+$0.121
Moderate (+3 to +10%)82.2%โˆ’$0.01279.6%+$0.025
Wide (+10 to +20%)65.1%โˆ’$0.05088.3%+$0.213
Very wide (+20%+)53.1%+$0.03984.8%+$0.346

On Kalshi, the +0 to +3% gap zone wins 94% of the time and produces +15ยข realized profit per $1 bet โ€” far better than any wider zone. As the gap widens, the win rate drops and EV turns negative. On Polymarket the opposite holds: wider gaps โ†’ better win rates and EV.

Why the asymmetry? Kalshi is a CFTC-regulated market with more institutional participation and tighter spreads. When Kalshi's order book disagrees strongly with our Bayesian model, it's usually because traders with real-time information are pricing in something our historical lookup table can't see (recent BTC momentum, exchange-specific orderflow, news). The market is right; we're reading stale patterns. Polymarket is decentralized retail-heavy with thinner expert participation โ€” its mispricings are more genuine and exploitable.

What this means in practice:

On Kalshi, every alert now labels the gap zone explicitly:

On Polymarket, the labels are flipped because the data pattern is reversed:

Notice the asymmetry in the labels: on Kalshi, "wide gap" is a warning. On Polymarket, "wide gap" is the strongest endorsement. Both labels reflect what the data actually says about each market.

This pattern was discovered through 1,261 lifetime Kalshi signals + 2,799 Polymarket signals and is robust even after controlling for the razor-flat window effect described above.

Why this still works (with discipline)

The system is positive expected value over many trades. That's the math. But "positive EV over many trades" only translates to money in your pocket if:

  1. You take many trades. A subscriber who bets twice and quits after a loss never sees the convergence.
  2. You size bets so a losing streak doesn't bankrupt you. Six losses in a row will happen eventually. If your bankroll can't handle it, you're out before the math has a chance to work.
  3. You bet the system, not your gut. Adding "I think BTC is going up" to the model's signal makes you worse than random โ€” the model already accounts for momentum. Your intuition is noise.

The customers who make money have all three. The customers who lose money usually fail on #2.

โš ๏ธ The hard truth

We have a real edge. The model is well-calibrated. The lifetime numbers are honest and verified. We also have a product where you will lose 100% of any individual bet about 14% of the time, sometimes in clusters. If that probability frightens you more than the long-term math attracts you, this is not the right product for you, and we'd rather know that now.

This is not investment advice. Past performance does not guarantee future results. Trade only with capital you can afford to lose.


Bet Sizing & The Sweet Spot

This is the section most people skip โ€” and it's the reason some subscribers make money and others don't. Knowing when a signal fires is only half the edge. Knowing how much to bet based on the contract price is what separates consistent winners from break-even traders.

We analyzed over 500 resolved signals from our live dataset. Here's what actual win rates look like by contract price:

Contract Price Win Rate EV on $100 bet Verdict
60โ€“79ยข 90.4% +$8โ€“$22 ๐Ÿ”ฅ Sweet Spot
80โ€“89ยข 90.4% +$5โ€“$12 โœ“ Strong
90โ€“95ยข 92โ€“96% +$2โ€“$6 โ†’ Thin but real
96ยข+ 96% โ‰ˆ break even โ€” Skip or tiny size
The Key Insight

The alert shows you a contract price. That number tells you exactly how much edge you have. At 75ยข, you're paying 75 cents to win a dollar โ€” and we win 90%+ of the time at that price. That's real, repeatable edge. At 97ยข, even a 96% win rate barely covers the cost of being wrong.

The break-even math is simple: You need the contract price to be below your actual win rate. Our high-confidence signals win roughly 90โ€“96% of the time. Any contract priced below 90ยข represents genuine positive expected value. The lower the price (while the signal is still strong), the bigger the edge per dollar.

Contract price Contracts per $1 Expected profit per $1 bet
70ยข 1.43 +$0.37
80ยข 1.25 +$0.20
90ยข 1.11 +$0.07
95ยข 1.05 +$0.01
97ยข+ 1.03 โ‰ˆ $0.00
Real Talk on Scale

At 90ยข, you're making 7 cents per dollar bet. That's real โ€” but it only matters at scale. A $15 bet returns ~$1 expected profit. A $500 bet returns ~$35. The math is always in your favor at the right price; the question is whether the bet size makes it worth your time. Most people find the sweet spot at $50โ€“$200/trade once they're comfortable with the timing.

The alert tells you the price โ€” act accordingly. When the signal shows NO @ 34ยข with 80%+ confidence, that's a big gap โ€” bet your full base unit or more. When it shows NO @ 93ยข, it's still likely to win but the edge is thin โ€” keep the size small or skip entirely. Every alert includes an EV line that calculates this for you: "+$2.35 per $10 bet" means serious edge. "Low edge โ€” market already priced in" means the crowd caught up first.

Your base unit: Set it at 1โ€“2% of your prediction market bankroll. If you're running $500, that's $5โ€“$10 per trade. Never more than 5% of your bankroll on a single signal, even on premium alerts.

Don't chase losses: Three losses in a row at 92% confidence is statistically normal โ€” about 1 in 400 three-signal stretches. It is not a signal that the edge is broken. Stay the course.


When to Skip a Signal

Not every alert demands action. Part of the method is knowing when the conditions aren't right โ€” even when the model is confident. Here's when to pass:

You can't get a fill quickly. If you fire up Polymarket and there's very thin liquidity on your side (less than $50 available at the price shown), skip it. You'll move the price just by placing your order, and the edge evaporates on impact.

You're in a BTC news event. During major macro announcements (Fed decisions, ETF news, exchange hacks), BTC can move in ways that break the model's assumptions. Signals fired during these events have lower reliability. If BTC moved more than 1% in the last 5 minutes for no obvious technical reason, treat the signal with skepticism.

You see a reversal in progress. The model signals based on the last 60โ€“90 seconds of data. If you open your chart and see BTC just spiked hard in the opposite direction in the last 10 seconds, the signal may already be stale. Trust your eyes.

You can't act in the next 30 seconds. If you're on mobile and it's going to take you a minute to navigate to the right market and place the trade, skip it. These are timing-sensitive. A fill at 8 seconds before close is cutting it too close.

The Discipline Principle

Missing a winning signal hurts a little. Taking a trade in bad conditions can hurt a lot. Being selective is not the same as being scared. The signals come multiple times per day. There's always another bus.


Kalshi vs. Polymarket

Kalshi (15-minute windows): Regulated US prediction market. You're trading YES/NO contracts on whether BTC closes above its opening price at the 15-minute mark. Signals fire approximately 2 minutes before close โ€” giving you more time to act. Higher confidence thresholds are used because the longer window creates slightly more uncertainty. Available to US users without VPN. Payouts are in USD, deposited directly to your Kalshi account.

Polymarket (5-minute windows): Decentralized prediction market on Polygon. You're trading UP/DOWN contracts settling every 5 minutes via Chainlink price feeds. Signals fire ~45 seconds before close โ€” you need to move fast. US users typically require a non-US VPN. Payouts are in USDC. The edge here is stronger because the short window creates more pronounced lag โ€” but your execution window is tighter.

Resolution Mechanism Note

Polymarket resolves BTC contracts using Chainlink Data Streams, not the exchange mid-price you see on charts. There's typically a small discrepancy. This is accounted for in our model, but near-flat windows (BTC price within $20 of opening) can resolve differently than expected. Avoid trading signals where the current price is very close to the opening price of the window.

Which should you start with? Kalshi is easier for beginners โ€” US-accessible, regulated, slower-paced, and the 2-minute lead time gives you room to breathe. Once you're comfortable with the timing and mechanics, add Polymarket for higher signal frequency and stronger edge opportunities.


How the NBA Alerts Work

While the BTC signal engine exploits prediction market microstructure (the "window lag"), the NBA system works differently. It's a real-time win probability model that detects when Kalshi prices haven't caught up to what the scoreboard is showing.

The Goldman-Stern Model

The model computes P(home team wins) using 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 achieves 93.1% accuracy on confident halftime signals (n=2,320 games where the model had โ‰ฅ 70% confidence at halftime).

The Edge: Model vs. Kalshi

The alert fires when the model's probability diverges from what Kalshi is showing. The Kalshi price is a direct probability โ€” no conversion needed.

For example: model says Lakers have a 78% chance to win, but Kalshi has them at $0.55. That's a +23 percentage point gap โ€” a strong signal that Kalshi hasn't repriced the game fast enough.

When You'll Get an Alert

A signal fires when all four of these conditions are met simultaneously:

  1. Game is in the 2nd quarter or later โ€” no alerts in the 1st quarter (too early, model needs scoring data)
  2. Model confidence โ‰ฅ 60% โ€” the model must believe one team has at least a 60% chance to win
  3. Gap vs. Kalshi price โ‰ฅ 8 percentage points โ€” the model sees at least an 8% edge over what the market is pricing
  4. Kalshi price โ‰ค $0.90 โ€” no alerts when the market is already above 90% (the outcome is priced in, no value)

You'll also receive a pregame alert ~10 minutes before tip-off with Kalshi odds and a value watch identifying the underdog with the most upside potential.

Alert cooldown: Maximum one alert per game every 12 minutes to prevent spam during extended model-confident periods. You'll typically see 1โ€“4 alerts per game that meets the criteria.

How It's Different from BTC

BTC SignalsNBA Alerts
Edge typePrediction market microstructure lagKalshi repricing delay
ModelBayesian probability table (historical)Goldman-Stern normal CDF (analytical)
Signal frequency~10-20 per day~20-50 per game night
Time horizon45 seconds to 2 minutesMinutes to quarters
Where to betKalshi, PolymarketKalshi (or any sportsbook)
Risk profileBinary contract (lose 100% or win $1-price)Binary contract (Kalshi) or moneyline (sportsbook)

Team Filtering

Subscribers can filter alerts by team via the /teams command in @degenhedgeNBAbot. Set your teams to only receive alerts for games you care about, or leave it unfiltered to get every game.

โš ๏ธ Track Record in Progress

The NBA signal engine is new (launched April 2026). We're building the live track record in real time. The Goldman-Stern model is well-studied in academic literature and our backtesting is strong (93.1% at halftime), but live performance will differ from backtesting. We'll publish verified live results as they accumulate โ€” same transparency standard we hold for BTC.

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

How the MLB Alerts Work

The MLB signal engine uses the same core approach as NBA โ€” a real-time win probability model compared against live Kalshi prices โ€” but the model is built for baseball's unique game structure.

The Model: Run Differential + Game State

Unlike NBA (continuous clock), baseball has discrete game states. The model computes P(home team wins) based on three inputs:

The model uses an empirical probability table with 2,232 game states, calibrated to historical MLB run-scoring distributions. A 3-run lead in the 2nd inning is very different from a 3-run lead in the 8th โ€” the model captures this precisely.

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

A signal fires when all six of these conditions are met simultaneously:

  1. Game is in the 3rd inning or later โ€” early innings have too much variance for the model to differentiate from the pregame line
  2. Model win probability โ‰ฅ 85% โ€” the model must give one team 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 percentage points โ€” the model sees at least a 10% edge over what the market is pricing (raised from 8pp on April 26)
  4. Run differential โ‰ฅ 1 โ€” game must not be tied; the model has no edge in tied games
  5. Maximum gap โ‰ค 25 percentage points โ€” extreme gaps are usually mispriced inputs, not real edges
  6. Kalshi price โ‰ค $0.90 โ€” no alerts when the market is already above 90% (the outcome is priced in, no value)

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

Alert cooldown: Maximum one alert per game every 15 minutes. MLB games are longer than NBA, so alerts are spaced further apart. You'll typically see 1โ€“3 alerts per game that meets the criteria โ€” about 7โ€“9 alerts per game-night across the league.

How It's Different from NBA

NBA AlertsMLB Alerts
ModelGoldman-Stern normal CDF (analytical)Empirical win probability table (historical)
Key inputsPoint margin + minutes remainingRun differential + innings remaining + outs
Game length~2.5 hours (48 minutes game time)~3 hours (9 innings, no clock)
Alert cooldown12 minutes15 minutes
Score pollingEvery 60 secondsEvery 30 seconds
SeasonOctober โ€“ AprilApril โ€“ October
Games per season1,2302,430
MarketKalshi KXNBAGAMEKalshi KXMLBGAME
Telegram bot@degenhedgeNBAbot@DegenHedgeMLBbot
โšพ 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 was reset for a clean read. The current numbers reflect the V2.2 filters running against live Kalshi prices:

MetricValue
Resolved games49
Wins ยท Losses41 ยท 8
Win rate83.7%
Total signals fired76
Best historical streak13 consecutive winning games

Live numbers refresh every 30 seconds from /stats. Each individual signal is logged in the public 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 83.7% win rate reflects real arbitrage against the market, not independent predictive skill. Treat each signal as a probabilistic edge over the Kalshi price โ€” never a sure thing.

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

Ready to Put This Into Practice?

Choose BTC signals, NBA alerts, MLB alerts, or go all-in with All-Access.

See Plans & Subscribe โ†’

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