1 What You Need
Set up once, then forget about it.
For BTC Signals
An account on Kalshi (15-minute windows), the CFTC-regulated US exchange where you buy YES/NO contracts on whether BTC will close a window UP or DOWN. Kalshi is the regulated entity; DegenHedge is a publisher, not a regulated or licensed one.
For NBA Alerts
An account on Kalshi. NBA game markets (series ticker KXNBAGAME) are binary contracts: buy YES on a team, it pays $1.00 if they win. You can also use any traditional sportsbook (DraftKings, FanDuel, etc.) โ the signal tells you which team our model reads above the market price, you place the bet wherever you have an account.
- Sign up for Kalshi โ fund with USD (bank transfer or debit card). NBA markets are under "Sports."
For MLB Alerts
An account on Kalshi. MLB game markets (series ticker KXMLBGAME) work the same way โ buy YES on a team, it pays $1.00 if they win. As with NBA, you can substitute any traditional sportsbook moneyline if you already have an account elsewhere.
Telegram
All alerts come via Telegram. Install it on your phone with notifications on. After subscribing, you'll link your Telegram to your DegenHedge account with the /link command.
2 Anatomy of an Alert
Every line means something. Here's what you're looking at.
BTC Signal Example
๐จ
SIGNAL: DOWN (Kalshi 15-min)
โโโโโโโโโโโโโโโโโโ
๐ฐ Market price (DOWN):
$0.98
๐ Model estimate:
99.1% DOWN
(our estimate, historically optimistic)
โฑ Window closes at
2:45 PM ET (in 2 min 10 sec)
โโโโโโโโโโโโโโโโโโ
Timed alert: sent about two minutes before the close because our model leans this way, not because the price looks wrong. Check the live order book before doing anything. Any signal can lose the whole stake. Logged and graded either way.
Illustrative format only: the time, probability and price above are made up. This is not a past signal.
Market price (DOWN): $0.98
The DOWN contract costs $0.98 on Kalshi. If DOWN wins it pays $1.00, so you are risking 98ยข to make 2ยข. BTC alerts fire at a 91.7ยข average entry, 96ยข median, so this example sits at the expensive end of a range that is expensive everywhere; this is not a cheap contract with a fat payoff.
Model estimate: 99.1% DOWN
Our model puts a 99.1% chance on BTC closing this window DOWN. BTC windows fire at estimates this high because the direction is usually close to settled by the time the model can see it. It is our estimate, and it has historically read too favourably against what actually settles.
The distance between those two numbers
Read this one carefully. The alert does not print that distance, and it is not money. At a 98ยข entry you have to be right 98% of the time just to break even before fees. Our published BTC record is
91.2% across
12,160 priced signals at a
91.7ยข average entry (
96ยข median), and breakeven at that average price is
91.7%, so the record sits
below breakeven before fees and further below after. BTC is the fastest market we cover, not the best one, and we do not present it as an edge. The arithmetic is on
the risk page and in the
BTC research write-up.
Window closes at 2:45 PM ET (in 2 min 10 sec)
BTC alerts are timed: they go out about two minutes before each 15-minute window closes, whenever our model leans one way at 60% or more. That is the whole trigger. It is not a reading that the price is wrong. BTC windows are fast, and the price you actually get is the one on your screen, not the one in the alert.
NBA Signal Example
๐
SIGNAL: Lakers
โโโโโโโโโโโโโโโโโโ
๐ฐ Kalshi:
$0.55
๐ Model estimate:
79% (our estimate, historically optimistic)
๐ PHX 76 โ LAL 84 ยท Q3 5:32
โโโโโโโโโโโโโโโโโโ
Our model reads this game differently from the price. Check the live price before doing anything. Any signal can lose the whole stake. Logged and graded either way.
Illustrative format only โ teams, score, probability and price above are made up. This is not a past signal.
Kalshi: $0.55 ยท Model estimate: 79%
The Lakers YES contract costs $0.55 on Kalshi โ pays $1.00 if LAL wins. The 79% underneath it is what our Goldman-Stern model makes of the same game state. The distance between the two numbers is arithmetic between two estimates, not value, which is why the alert no longer prints it as a figure: our models run optimistic against settled outcomes, and the price does not measurably move toward us after an alert.
PHX 76 โ LAL 84
Away team first, em-dash separator. LAL leads 84-76. Sanity-check this on any live score app before you trade.
Q3 5:32
5 minutes, 32 seconds left in the third quarter โ about 17 minutes of NBA game time remaining.
Our model reads this game differently โฆ check the live price
Every alert closes with the same reminder, because it is the honest one: a disagreement between our model and the price is all the alert reports, the model number has historically read too favourably, and the price in the alert is a snapshot that may already have moved. Every signal is logged and graded either way.
MLB Signal Example
โพ
SIGNAL: WSH
โโโโโโโโโโโโโโโโโโ
๐ฐ Kalshi:
$0.65
๐ Model estimate:
88% (our estimate, historically optimistic)
๐ NYM 1 โ WSH 4 ยท B5, 2 out
โโโโโโโโโโโโโโโโโโ
Our model reads this game differently from the price. Check the live price before doing anything. Any signal can lose the whole stake. Logged and graded either way.
Illustrative format only โ teams, score, probability and price above are made up. This is not a past signal.
Kalshi: $0.65 ยท Model estimate: 88%
The WSH YES contract costs $0.65 on Kalshi โ pays $1.00 if WSH wins. The 88% underneath it is what our empirical run-differential model makes of the same game state. The distance between the two is a disagreement between two estimates, not money, and the alert deliberately does not print it as a figure: on our graded record the market has been the better-calibrated of the two.
NYM 1 โ WSH 4
Away team first, em-dash separator. WSH leads 4-1. Verify on any live score app before betting.
B5, 2 out
Bottom of the 5th inning, 2 outs. "T" = top, "B" = bottom. About 4 innings of game time remain.
Our model reads this game differently โฆ check the live price
The same closing reminder on every alert. The model number is our estimate, it has historically read too favourably, the price is a snapshot that may already have moved, and every signal is logged and graded whichever way it lands.
3 BTC Signals: Step by Step
Speed matters. These windows close in minutes.
1
Get the alert on Telegram. You'll see the direction (UP or DOWN), the model's probability, the current market price, and how long until the window closes.
2
Open Kalshi. Navigate to the Bitcoin up-or-down 15-minute markets (series KXBTC15M). The alert includes a deep-link straight to the right market.
3
Check the live price. The alert shows the price at signal time and it may have shifted by the time you look. What you are checking is arithmetic, not an edge: the price is the break-even win rate, so a DOWN contract at 98ยข has to win 98% of the time just to return your stake before fees. Our published BTC record is 91.2% across 12,160 priced signals at a 91.7ยข average entry (96ยข median), which is below the breakeven that average price implies, and further below it once fees come out, so we do not present BTC as an edge.
4
Buy the contract. If the signal says DOWN and the DOWN contract is $0.98, you're paying 98ยข for a contract that settles at $1.00, so the whole 98ยข is at risk to make 2ยข. Place a market order for speed, or a limit order at your target price.
5
Wait for settlement. The window closes automatically. If the signal was correct, your contract settles at $1.00. If not, it settles at $0.00. No action needed โ it's automatic.
Timing: Kalshi BTC windows are 15 minutes, and the alert goes out about two minutes before the close, so you have about two minutes to act. Set up your account and know where the market is before your first signal so you can move quickly.
4 NBA Alerts: Step by Step
More time to act. Games last hours, not minutes.
1
Get a pregame alert ~10 min before tip-off. This shows you which games are coming up and where Kalshi has each team priced. No action needed yet โ the alert includes a deep-link to the Kalshi market page.
2
Get an in-game signal. During the game, when the model's read and Kalshi's price disagree past our threshold, you'll get an alert with the team, the Kalshi price, the model's estimate and the game state.
3
Open the Kalshi market. Tap the deep-link in the alert, or navigate to the KXNBAGAME series and find the live game. The market shows two outcomes โ each team's name with a YES price.
4
Check the live price. The alert said "Kalshi (Lakers): $0.55" โ is it still around $0.55? If it has already moved to $0.78, the alert is describing a market that no longer exists and the price you would pay is a different price. Move on.
5
Buy YES on the called team. If the price is still close to what the alert showed, buy YES. Each contract settles at $1.00 if the team wins, so a win returns $1.00 minus what you paid and a loss costs the full price you paid.
6
Wait for the game to end. When the final buzzer sounds, your contracts settle automatically. WIN = $1.00 per contract. LOSS = $0.00. You'll also get a result alert from the bot.
Using a sportsbook instead? The signal works the same way โ the called team is the one our model reads above the market price. Place a moneyline bet on that team through DraftKings, FanDuel, or wherever you have an account. The Kalshi price in the alert is for reference; your sportsbook odds will differ slightly.
5 MLB Alerts: Step by Step
Same flow as NBA. Different model, longer games, more alerts per night.
1
Get a pregame alert ~10 min before first pitch. Shows you the matchup, Kalshi's pregame line, and a deep-link to the KXMLBGAME market for that game.
2
Get an in-game signal once the game reaches the 3rd inning. The model needs at least 2 innings of scoring data before it'll fire. Alerts include team, model probability, Kalshi price, run differential, and current inning.
3
Open the Kalshi market. Use the deep-link in the alert. The KXMLBGAME page shows YES contracts for each team with the live price.
4
Check the live price. Confirm the Kalshi price is still close to the alert price. MLB markets move slower than NBA but still re-price quickly when the score changes.
5
Buy YES on the called team. If the price is still close, place the order. Pays $1.00 per contract on a win.
6
Wait for the final out. Settlement is automatic when the game ends. You'll get a result alert from @DegenHedgeMLBbot.
Filter by your teams: Send /teams LAD ATL HOU to @DegenHedgeMLBbot and you'll only get alerts on those games. /teams all turns the filter off. Useful: MLB has 2,430 games per season โ you may not want every alert.
6 NFL Alerts: Step by Step
Live now. Same model-versus-market comparison as NBA and MLB, on 32 teams and a much shorter schedule.
NFL Signal Example
๐
SIGNAL: KC
โโโโโโโโโโโโโโโโโโ
๐ฐ Kalshi:
$0.68
๐ Model estimate:
82% (our estimate, historically optimistic)
๐ BUF 17 โ KC 21 ยท Q3 8:42
โโโโโโโโโโโโโโโโโโ
Our model reads this game differently from the price. Check the live price before doing anything. Any signal can lose the whole stake. Logged and graded either way.
Illustrative format only โ teams, score, probability and price above are made up. This is not a past signal.
1
Activate @DegenHedgeNFLbot. Start your trial, then open the bot and tap START. Nothing reaches your phone until Telegram is linked.
2
Wait for an in-game signal. The model reads score, quarter and clock off ESPN play-by-play and compares its number to the live Kalshi price. It only fires when the difference clears the published gate: model minus market โฅ 0.12 and model probability โฅ 0.70.
3
Open the Kalshi market from the deep link in the alert, and check the live price against the alert price. NFL prices move hard on a score, so the number in the alert may not be the number you can trade.
4
Buy YES on the called team if the price still looks like the alert. Contracts settle at $1.00 on a win and $0.00 on a loss.
5
Wait for the final whistle. Settlement is automatic, and the graded result lands in the
public log whether it won or lost.
What we have and have not published. The NFL gate above comes from a backtest. The row we cite is the two-minute one, because a subscriber cannot condition on the disagreement still being open a minute later, and it describes the gate exactly as it ships: 60.9% of 225 graded signals at a 62.5ยข average entry (228 fired, 225 graded, 137–88). A 62.5ยข entry has to win 62.5% of the time just to return the stake, so that record sits 1.6 points below its own breakeven, before Kalshi fees, and further below after them. It is not a cherry-pick either: the sixteen-cell grid it comes from has exactly one positive cell, at a model gate of 0.80, and that is the cell we just left. That is a backtest, not a live record. The live record is in the public log: 35 NFL games graded, 57.1% at a 63.4¢ average entry, still a small sample. Judge us on that, not on the backtest.
Filter by your teams: Send /teams KC BUF PHI to @DegenHedgeNFLbot for those teams only. /teams all turns the filter off.
7 Bet Sizing
This is where most people go wrong.
We do not tell you how much to stake. That would be personalized advice, and we do not give it. What we will say is this: size so a losing streak can't bust you.
Why? Because losing streaks are normal at every win rate we publish, and they do not arrive politely spaced out. The MLB first-signal record is 78.9% over 949 graded games at a median entry of 80ยข, which is close to breakeven before fees. That is about one loss in every 5 games, and the log shows losses arriving in clusters. If a single signal is a large share of your bankroll, a normal cluster of losses takes the account with it.
Consistent small sizing is what lets you survive a losing streak. Aggressive sizing over a few bets is what ends accounts. Sizing is not a way to make a losing bet profitable; nothing here is.
Quick Reference
- Every signal can lose 100% of what you put on it
- Losses arrive in clusters, not politely spaced out
- A stake you would not shrug off is the wrong stake
- Sizing is damage control, not a way to make a losing bet profitable
If you can't afford to lose 5 bets in a row at your chosen size, you're betting too much.