🏈 Mechanism Study · NFL In-Game Markets

We Thought the Order Book Was Slow. Then We Measured It.

DegenHedge Research  ·  Published August 28, 2026  ·  Corrected September 6, 2026  ·  Updated September 10, 2026  ·  ~13 min read  ·  Mechanism study — not betting advice
Abstract

Football is the most punctuated of the major sports. Nothing happens for forty seconds, and then a single snap moves a game's win probability by twenty or thirty percentage points. A live win-probability model registers that move within seconds of the play being entered into the play-by-play feed. The contract price for that same team does not, because a price is not a number that updates — it is inventory. It is a stack of limit orders somebody placed minutes ago and has not looked at since. Until a human or a bot decides to cancel or cross, the book keeps quoting a game that is already over.

That was the hypothesis. This piece sets it out concretely — why the two clocks should diverge, the four structural reasons the divergence should persist instead of closing instantly, the several good reasons a visible gap is not free money, and how we tested the whole idea against a full season of games. It then reports what happened when we stopped arguing and instrumented the live order book around our own alerts. The mechanism did not survive that test, and the correction sits immediately below this abstract rather than buried at the bottom. The final section publishes the full season backtest, including the timing leak that invalidated our first and much prettier result.

⚠️ Correction, September 6, 2026 — our own data does not support the mechanism on this page. We instrumented the Kalshi order book around live signals, capturing top-of-book price, spread and depth at the alert and at intervals out to five minutes. Across 81 instrumented MLB signals the median price move on the alerted side was exactly 0.0000¢ at every horizon from t0 to +300s, the median quoted spread stayed flat at 1.0¢, and top-of-book depth rose from about 29.3k to 50.0k contracts instead of being consumed. There is no measured repricing, no gap closure, and no sign of anyone front-running the alert. The argument below is preserved as the argument we made; it is a hypothesis this study tested, not a fact. Read the measurement →
Subject: in-game NFL event contracts (KXNFLGAME) Replay sample: 283 games, 2025-26 season Evaluation: entries delayed 2 minutes (1-minute cells withheld) Published backtest: 60.9% of 225 graded signals at a 62.5¢ average entry (2-min delayed entry, 1.6 points below the breakeven that entry implies, before fees)
🧾 Update, 10 September 2026 — the shipping gate moved, and the published backtest for it loses money. A 2025-26 season replay, at the gate the live bot now ships with, entered two minutes after detection the way the live bot really polls, hit 60.9% of 225 graded signals at a 62.5¢ average entry. Breakeven at 62.5¢ is 62.5%, so that is 1.6 points below the breakeven that entry implies, before fees, and exchange fees take roughly another 1 to 1.5 points. The backtest for the configuration we now run loses money, and we publish it. It is one of the fifteen negative cells in a sixteen-cell grid; the grid's single positive cell is the gate we just left, which is precisely why this figure is not a selection. Read the numbers and the caveats →
Correction

What the book actually did

Median alerted-side move of 0.0000¢ at every horizon to +300s, a flat 1.0¢ spread, and rising depth. The mechanism below is a hypothesis, and this is the test it failed.

Part 1

Where the gap comes from

Win probability is a function of game state. Price is a function of somebody deciding to act. Football separates the two more violently than any other sport.

Part 2

Why we expected it to persist

Thin in-game books, nobody obligated to requote, a dozen simultaneous games competing for attention, and a broadcast that runs behind the feed.

Part 3

Why it isn't free money

Displayed price is not your fill. Sometimes the model is the wrong one. And a bigger gap is not a better signal.

Part 5

The backtest, published in full

60.9% of 225 graded signals at a 62.5¢ average entry, 1.6 points below breakeven before fees, one of fifteen negative cells out of sixteen, and why we publish it anyway.

Correction · September 2026

What the order book actually did after our alerts

Every argument on this page predicts one observable thing: after a signal fires, the alerted side should move toward the model. So we measured it.

In August 2026 we added order-book instrumentation to the live signal path. On each signal we capture the top-of-book price, the quoted spread and the resting depth on the alerted side, then again at intervals out to five minutes. If the repricing story were right, the price should drift toward the model's number, the spread should widen or churn as quotes are pulled, and depth should thin as the mispriced inventory is taken.

None of that is what the snapshots show. Across 81 instrumented MLB signals captured on August 30:

What the lag story predictsWhat we measured
Alerted side drifts toward the modelMedian move 0.0000¢ at every horizon from t0 to +300s
Spread widens or churns as quotes are pulledMedian spread flat at 1.0¢ throughout
Depth thins as stale inventory is takenTop-of-book depth rose, roughly 29.3k → 50.0k contracts

A median of exactly zero is not a small effect that we lacked the sample to resolve. It means that in most alerted markets, five minutes after we told subscribers the price was wrong, the price was the same price. Nothing repriced, nothing converged, and nobody front-ran us.

The wider record agrees. Our logged MLB history stands at 78.9% of about 816 logged games at a roughly 80¢ median entry, which is close to breakeven before fees and negative after them: the margin over the entry price is not statistically distinguishable from zero. And on calibration the model, not the market, is the unreliable party: on identical game states our static table claimed a 6.47% loss rate, a four-season league table said 12.75%, the market said 20.05%, and reality delivered 20.42%. The market beat the model on Brier score, 0.1631 to 0.1834, with a difference interval excluding zero.

What this changes, and what it doesn't. It retires the claim that the market corrects toward us, and with it any suggestion that the difference in an alert is money waiting to be collected. It does not retire the detection itself, or the public log: we still find these disagreements quickly, we still publish every one, and every one is still graded at settlement with the losses in it. We are publishing this for the same reason the leakage disclosure further down is on the page. A study that only ever confirms the thing it was built to sell is not a study.

Ground rules

How an in-game football contract works

Everything below follows from two mechanics, so they are worth stating plainly first.

A game contract is a binary claim on a single question: will this team win? It settles at $1.00 if they do and $0.00 if they don't, with no partial credit for a close loss. While the game is live, the price behaves like a market-implied win probability. A contract trading at 71¢ means the order book, collectively, is pricing something in the neighborhood of a 71% chance. That interpretation is what makes the comparison in this piece possible at all: you can put a model's probability and a market's price on the same axis and subtract.

The second mechanic is the one people skip. A market price is not a reading of anything. It is the best resting bid and the best resting offer — actual orders, entered by actual participants, that sit in the book until they are filled, cancelled, or expire. No process re-derives them when the game changes. A 71¢ offer placed with 9:04 left in the third quarter is still a 71¢ offer after the ensuing kickoff return goes 98 yards, right up until the person who placed it does something about it.

Put those together and the disagreement itself is almost tautological. Win probability is a function of the game. Price is a function of somebody's attention. Anything that separates the game from the attention opens a gap between the two numbers. What does not follow, and what we assumed for a year without checking properly, is that the gap then closes in your favour. We describe the general version of this, and the same retraction, on The Lag.

Part 1 · Mechanism

Football moves in jumps, and jumps are what should break a stale book

Basketball's win probability drifts. Baseball's ratchets between discrete states at a walking pace. Football's sits perfectly still and then detonates.

Read Parts 1 and 2 as the hypothesis, not the finding. They are the argument we made in August, preserved as we made it. The measurement above is what happened when we tested the prediction they imply, and it went against them.

Consider a possession in the middle of the fourth quarter with a one-score margin. The offense faces third and six. During the huddle, the play clock, the snap, and the two seconds of the play itself, the true probability the leading team wins is essentially unchanged — and then the ball is intercepted and returned to midfield, and it has moved by more than twenty points. Nothing gradual happened. There was no path from the old number to the new number that the market could have followed on the way.

This matters because gradual moves are self-correcting for a book and jumps are not. When a number drifts by half a point at a time, resting orders get picked off one tick at a time, and the book walks along behind the truth at a tolerable distance. When the number gaps by twenty points, every resting order on one side of the market is instantaneously mispriced by a large amount all at once, and every one of them stays that way until its owner reacts. The size of the dislocation is set by the size of the jump; the duration is set by human reaction time.

Repricing lag (noun, hypothesis)

A supposed interval between an on-field event changing a team's win probability and the market price for that team moving to match, which would be observable while it lasts as a gap in percentage points between a live win-probability estimate and the traded price of the same outcome. The gap is real and we log it on every signal. The subsequent move is the part our instrumentation did not find — see the correction.

The sequence, step by step

Here is the actual chain of events between a play ending and a price changing. Every arrow in it is a place where time gets added.

From snap to quote: where the delay accumulates
Each step is a real handoff. The model exits this chain at step 3; the market exits at step 6.
1
t = 0

The play ends

The true win probability changes here, completely and at once. Everything after this point is latency in somebody's pipeline.

2
Seconds

The play is entered into the play-by-play feed

Down, distance, clock, and result get written to the live data feed. This is the first machine-readable record that anything happened.

3
Seconds

A win-probability model updates

A model reading that feed recomputes and publishes a new probability. The scoreboard side of the comparison is now finished. Everything below is the market side catching up.

4
Tens of seconds

People watching the broadcast see the play

Streams and cable feeds run behind the field, and behind each other. A trader watching on a delayed stream is reacting to a game state the data feed already retired.

5
Variable

Someone decides the price is wrong

Notice the play, remember there is an open position or a resting order, judge what the contract is now worth, decide it is worth doing something about. On a Sunday with a dozen games running, this step can simply not happen for a while.

6
Then, finally

An order is cancelled, moved, or crossed

Only now does the printed price change. Until this step, the quote on the screen describes a game that no longer exists — and there is no rule anywhere requiring anyone to take it.

The model is done at step 3 and the market is not done until step 6. The gap our alerts describe is simply the distance between those two moments, priced in percentage points. It is a statement about timing, not a claim that the market is wrong about football.

Why the two-minute warning is the hardest part of the game to price

Late in a half, win probability stops being mostly about the score and starts being about clock arithmetic: timeouts remaining, whether the trailing team gets the ball back, whether a first down ends the game outright. Two situations with identical scores can carry very different probabilities depending on who has the ball and how many timeouts are left. This is exactly the regime where a casual participant's mental model degrades — the scoreboard looks the same, so the price looks fine — and it is where a model that reads possession, clock, and timeouts explicitly will diverge from the book for longer than it does in the first quarter.

It is also, for the same reason, the regime where being wrong is most expensive. A close game in the last two minutes is a coin standing on its edge, and a contract priced at 80¢ that settles at zero costs you the whole stake regardless of how well-reasoned the entry was.

Part 2 · Persistence

Four reasons we expected the gap to survive instead of closing instantly

A gap opening is unremarkable — it happens on every exchange in every asset. The question we set out to answer was why it would stay open long enough to be worth publishing an alert about. Four structural facts, none of them exotic — and, as it turns out, none of them sufficient. This is the argument, not the finding.

1 · In-game books are thin

The overwhelming majority of interest in a game contract transacts before kickoff, when there is time to think and a clear question to answer. Once the game is live, resting depth thins out. Fewer resting orders means fewer people who notice they are now offering the wrong price, and a stale quote survives longer for the simple reason that fewer participants are standing near it.

2 · Nobody is obligated to requote

There are no designated market makers with quoting obligations on in-game football contracts. No participant has agreed to maintain a two-sided market through every snap. Quotes update when a person, or somebody's bot, chooses to update them — not on a clock, not on an event trigger, and not at all if that person is watching a different game.

3 · Sunday splits attention thirteen ways

This is the most football-specific reason on the list. Baseball spreads its games across the evening; the NFL stacks a dozen or more into the same three-hour block. The pool of people who might reprice a fourth-quarter contract is divided across every simultaneous game, and the least-watched game on the slate is the least-watched book on the exchange at exactly the moment its win probability jumps.

4 · The broadcast runs behind the data

Play-by-play data is published from the stadium. The picture most participants are reacting to has been through encoding, distribution, and buffering first. Anyone trading off a stream is working from a game state that is structurally older than the one a feed-reading model already has — and different streams are stale by different amounts, so participants do not even converge with each other.

None of this is a criticism of the exchange, and none of it implies a defect. It is what we expected a market to look like when prices are moved by retail participants reacting to a live event that they see later than a computer does. The only real questions were how large the gap gets, how long it lasts, and whether you can measure it without fooling yourself — and that last one is where most of the work actually was. When we did measure it, the answer to the second question was: it does not visibly close at all.

The honest framing: we are not predicting football better than the market — on our graded data the market has been the better-calibrated of the two. We read the same public game state, arrive at a number a few steps earlier in the chain, and tell you when the two disagree. That is a detection, published to a log you can audit. It carries no promise about how any individual contract settles, and no promise that the price will move.

We said this was a shrinking resource. It turned out to be smaller than that

When this piece was first published we wrote that repricing lag is not a permanent feature of the world: it would exist because a specific set of participants have a specific set of habits, more automation and deeper in-game liquidity would compress the window, and if it ever narrowed to nothing the honest thing would be to say so where it was visible anyway. That commitment is what the correction above is. We did not have to wait for the window to narrow — when we finally measured the alerted side directly, there was no measurable window to begin with.

Part 3 · Limits

Why a visible gap is not free money

This is the section most write-ups of this idea leave out. A gap on a screen is not a filled order, and the reasons are worth knowing before you act on anything.

The displayed price is not your fill

A stale quote is stale partly because it is small. The best offer might be for a handful of contracts, and once you take it the next one up is materially worse. Size matters more than the headline number: a 12-point gap on ten contracts and a 12-point gap on a thousand are not the same opportunity, and an alert that reports the top-of-book price is reporting the best case. Every one of our alerts carries a staleness hedge for this reason — by the time you read it, the price may have moved.

Sometimes the model is the stale one

The comparison has two inputs and either can be late. Data feeds stall, drop plays, publish a play and then correct it, and get replay reviews wrong on the way through. A touchdown under review may be booked by the feed while the market sensibly waits for the ruling — in that window the market is not slow, it is right, and the model is the one holding a game state that may be reversed. We handle this by requiring a model reading to be strong on its own terms before a gap counts as anything, and by gating out situations where the feed is visibly unreliable. It is a mitigation, not a cure.

A bigger gap is not a better signal

The intuitive assumption is that gap size is a dial: the wider the disagreement, the better the opportunity. Our graded data across these markets does not support that, and on some markets it points the other way — the widest gaps have not graded better than moderate ones. That makes sense once you stop thinking of a gap as an opportunity and start thinking of it as an anomaly. A very large disagreement is often a sign that one of the two inputs is broken rather than a sign that a large amount of money is lying around. We treat gap size as a description, not a lever, and we tighten our thresholds when the evidence says to rather than loosening them to fire more often.

Costs, and the fact that being right is not the same as being ahead

Exchange fees, the spread you actually cross, and the seconds between an alert being sent and an order being placed all take something off whatever the measured gap was. This is not a rounding error; on a thin edge it can be most of it. It is also why we refuse to treat a high hit rate as a headline. Our study of about 9,750 priced Bitcoin windows made this point in the sharpest possible way on a different market: a hit rate that tracks the price you paid tells you how the contracts were priced, not that anyone came out ahead. Football is a different market with different structure, but the discipline transfers exactly.

Read this the way we mean it. Everything in this section is a reason a real result can be worse than a measured gap suggests. An alert is an input for a decision you make yourself, not a recommendation and not a promise about an outcome. Any single contract can lose 100% of your stake.
Part 4 · Method

How we tested the mechanism

A mechanism that sounds right and a mechanism that survives contact with realistic delay are different things. This is the work we did to tell them apart. It describes what we measured and how; Part 5 publishes what we measured.

The sample: one season, and it is all there is

We replayed 283 games — the complete set of NFL games listed on the exchange's game series for the 2025-26 season. That series did not exist for the prior season, so this is not a sample we chose; it is the entire population available. That is worth stating plainly because it caps what any replay can establish. One season of football is a small sample. The statistical uncertainty around anything estimated on it is wide enough that the only honest reading is "directionally informative," never "settled." Anyone who tells you a single NFL season proves a strategy is selling something.

Step one: reproduce before you change anything

The replay engine was first validated by reproducing our earlier full-season run exactly, to the row. That sounds like bookkeeping, and it is, but it is the step that makes every later comparison meaningful. If the engine drifts, every difference you find afterwards is a difference in your code rather than a finding about the market.

Step two: test on the feed you will actually use

Our first replay used an open-source, play-by-play win-probability model built on official league data. The live alerting system does not use that. It reads a commercial live feed's own published win probability, because that is what exists in real time during a game. Those are not the same input, and a replay run on a data source you cannot use in production measures a product that does not exist. So we re-ran the entire season on the live feed's numbers instead, and compared the two model families head to head — how often they agree on which side to take, how their timing differs, how well each is calibrated.

Step three: the timing leak, and correcting for it

This is the finding that changed our conclusions, and it is the one worth stealing if you do this kind of work yourself. The live feed stamps each play with a wallclock time. Compared against the league's official timestamps, those stamps run early — by as much as roughly forty-five seconds.

Taken at face value, that is a time machine. A replay that evaluates a signal at the feed's own timestamp is entering positions at prices that a real subscriber could not have gotten, because at that wallclock moment the play had not been distributed yet. Nothing about the code looks wrong. The results simply come out better than reality, in the specific and seductive way that leakage always does: it flatters the model most in exactly the fast-moving situations you are most excited about.

The correction is blunt and deliberately unkind to us. We re-ran everything with both the trigger and the entry price delayed by one and by two full minutes, so that a signal can only be credited at a price that existed a minute or two after the model saw the play. Which brings us to why one to two minutes is the right number.

Step four: model the delay the product actually has

A subscriber does not trade at the instant of detection. The real chain is: the model detects a gap, the alert is composed, it is broadcast across a subscriber list on Telegram, a phone buzzes, someone reads it, opens the exchange, finds the market, and places an order. The broadcast leg is the measurable one. Telegram's per-bot ceiling is roughly 30 messages a second, which is why our own sender is built around a 20-worker pool: a five-thousand-name list drains in two to three minutes at that floor, a list in the low hundreds clears in single-digit seconds, and at the size this feed is today the whole broadcast finishes in seconds. So the delay that matters is not the wire, it is the person. A one-minute delayed entry is the realistic case: seconds of broadcast plus the time it takes a reader who is already watching the game to open the exchange, find the market and place an order. Two minutes is the pessimistic case: a reader who does not drop what they are doing, or a list large enough that broadcast time itself starts to bite. We publish only the two-minute cell, because it is the delay the live bot's polling actually reproduces and because the one-minute cell turned out to be selected in a way no subscriber can condition on. Neither delay is a conservatism knob; they are the actual mechanics of the alert. What both rule out is the thing the first replay did by accident: crediting a signal at a price that existed before the play had been distributed at all.

Step five: grade games the way the live bot grades them

A single football game can produce several signals across different drives, and football flips the favored team far more often than basketball does. A meaningful minority of games in our sample produced signals pointing at both eventual outcomes. That creates a trap: if you aggregate a game as a win when any of its signals won, you have quietly given yourself hindsight, and the number you get is substantially better than anything a subscriber could have experienced. We aggregate on the first chronological signal per game, which is what our live bots do, so that the replay and the live record are measuring the same object.

Step six: check the units

One more unglamorous one, because it silently invalidates entire studies. The exchange's historical price fields carry bare names, while the live endpoint labels the same quantities with explicit unit suffixes. The bare historical values are dollars, not cents. Read them as cents and every entry price in your study is off by a factor of one hundred, which produces results that are not merely wrong but wrong in a direction you may enjoy. We check units against a live pull before trusting any replay.

What the replay is for

To answer one question: does the gap survive realistic delay at all, or is it an artifact of measuring at an instant nobody can trade? That is a mechanism test, not a forecast.

What it changed

Delayed entry killed the settings we had been calling recommended, so in August we tightened. Then Week 1 fired nothing at all, so on 10 September 2026 we loosened the model gate to 0.70 — a cell this same grid grades below breakeven. Both moves are on this page, including the one that made the number worse.

What it cannot do

It cannot establish a forward result. Thresholds explored on a dataset cannot also be the evidence for those thresholds, and one season is thin. Only the live record settles that.

If you want the model construction and the grading rules in full, they are on The Method. The general form of the repricing mechanism, with worked examples from a market that already has a public record, is on The Lag.

Part 5 · Published results

The backtest, in full, including the part that killed our own headline

Until this update, this page told you we had run a full-season replay and would not publish its numbers. We have changed that, and the reason is simple: the figure is now being used in our own marketing, so it belongs in public with its method, its uncertainty and its failure modes attached. Everything in this section is a backtest. It is a replay of a season that already happened. It is not a live record, and no part of it describes money anyone actually made.

The first replay looked spectacular, and it was not real

Our first pass on the live feed's win probability produced the kind of result that should make you suspicious of yourself. At the settings we had been calling recommended, evaluated at the instant of detection, the season replay came out materially better than anything below, on both expected value and win rate. We are not printing those two figures, here or anywhere, because they are not tradeable, they are not a performance claim, and a number on a public page outlives whatever sentence was attached to it. They are the artifact this section exists to explain.

The cause is a timing leak, described in Part 4. The live feed stamps each play with a wallclock time that runs zero to forty-five seconds early against the league's official timestamps (median 0 seconds, mean 27 seconds early, tenth percentile 57 seconds early). A replay that enters at the feed's own stamp is therefore pairing a post-play win probability with a pre-play market price. Nobody could have gotten that price, because at that moment the play had not been distributed yet. The arithmetic is correct and the product it describes does not exist.

What happened when we corrected it

We re-ran the full season with both the trigger and the entry price delayed to match how the live bot actually polls, at one minute and at two minutes. The recommended settings did not survive: at a two-minute delayed entry that headline became -0.43% per contract, before fees. In other words, the number we would have led with was mostly leakage, and at realistic latency the setting we had chosen loses to the fees.

We are telling you this in the first paragraphs rather than burying it, because it is the single most important thing a reader can know about how the figure further down was produced. It is not a survivor: the cell we publish is one of the fifteen negative ones, and the grid's single positive cell is the gate we just left.

The gate moved on 10 September, and the published number got worse

Of the sixteen threshold combinations we swept at a two-minute delayed entry, exactly one came out positive: an edge of at least 0.12 combined with a model strength of at least 0.80. That was the gate the live bot shipped with until 10 September 2026. It is not the gate the live bot ships with now. Week 1 opened and the feed produced no alert at all, so we went back through the situations that came close and found that 96 of 105 near-misses failed on the model-strength leg alone, not on the edge. We moved the model requirement from 0.80 to 0.70 and left the edge requirement where it was, at 0.12.

That change costs us the only good-looking cell on this page, and both halves of what it costs have to travel together. The sixteen-cell grid averages -2.12% per contract and its single positive cell is the one we just left, so the cell we now ship is one of the fifteen negative ones. What that buys is the end of the selection problem: this figure was not chosen because it looked good, and it cannot be the lucky survivor of a thirty-two-look sweep, because it is a cell that fails. What it costs is that the figure is openly below breakeven. Those are the same fact stated twice, and neither half is quotable without the other. A reader who asks us for the full grid still gets the full grid.

Only the two-minute row is published, and that is a separate correction. This page used to lead with the one-minute row of the gate it then ran. We retired it on 6 September 2026 and it is not restated here, because those signals are selected on the model-versus-market difference still being open a minute after detection, which is a condition no subscriber can observe or act on in advance. Filtering on it flatters the result by construction. Two minutes is how the live bot actually polls, so the two-minute row is the row that describes the product.

Gate Entry delay Signals fired / graded Signal win rate Games Game win rate Wilson 95% (game rate) Avg entry EV per contract
edge ≥ 0.12 · model ≥ 0.70
the shipping gate, since 10 Sep 2026
2 min 228 / 225
137-88
60.9% 119 62.2% 53.2% to 70.4% 62.5¢ -1.60% gross
1.6 pts below breakeven before fees; worse after
Everything else in the grid is withheld, and this is exactly what is being withheld. The sixteen-cell two-minute grid averages -2.12% per contract and contains exactly one positive cell: the model ≥ 0.80 gate we shipped until 10 September 2026 and no longer run. We do not restate that cell's win rate or entry price anywhere, because it is the number on this page a seller would most want to keep quoting and it no longer describes the product. The 1-minute cells are withheld too, retired 6 September 2026: those signals are selected on the model-versus-market difference still being open a minute after detection, a condition no subscriber can observe or act on in advance, so they flatter the result by construction. A reader who asks us for the full grid gets the full grid.
2025-26 season replay, 283 games. The published cell fired 228 signals, of which 225 graded: 137 wins and 88 losses. Signal win rate and average entry are computed over the graded signals; game win rate and the Wilson interval are computed over games, aggregated on the first chronological signal, the way the live bot grades. EV per contract is the signal win rate minus the average entry price, so it is the margin over breakeven on the signal population, stated per $1 contract of face value. It is not a return on the amount staked, which would be a different figure. At a 62.5¢ average entry breakeven is 62.5%, and 60.9% is 1.6 points short of it, which is the -1.60% in the last column. That figure is gross of exchange fees, which take roughly a further 1 to 1.5 percentage points off, so the net is worse. The sixteen-cell grid this row was drawn from averages -2.12%, and this row is not the positive one. Backtest, not a live record, and not a reason to buy anything.

There is one row now, and it is worth being blunt about why it is a losing one. 60.9% sounds like a winning number and is not one. At a 62.5¢ average entry, breakeven is 62.5%, so a 60.9% hit rate is 1.6 points short of paying for itself before a single fee comes out, and exchange fees take roughly another 1 to 1.5 points. That is the whole lesson of this table: a win rate quoted without the price you paid for it is not information. A gate with a hit rate in the sixties is easy to find on this data. Whether it makes money is settled by the entry price, and here the entry price settles it against us.

What the number means, and what it does not

At a 62.5¢ average entry, breakeven is 62.5%. Across the 225 graded signals — 137 wins and 88 losses, out of 228 fired — which is what a subscriber's phone actually receives, the replay hit 60.9%. Subtract the one from the other and the margin is -1.6 points before fees, which is exactly what the -1.60% EV per contract in the table measures, because the win rate and the price are computed over the same signals. Exchange fees take roughly another 1 to 1.5 points off that. The backtest for the configuration we now run loses money, and we are publishing it anyway. Graded the way the live bot grades, on the first signal in each of 119 games, it is 62.2%. Do not subtract the 62.5¢ entry from the game rate: those are two different populations, and the difference between them is not a margin.

The uncertainty runs in both directions, and it does not rescue this. Measured on games, the Wilson 95% interval runs from 53.2% to 70.4%. The 62.5% breakeven implied by the entry price sits inside that interval, so one season of football can neither rule out that this gate loses money nor rule out that it makes money — but the point estimate is the negative one, and a sample this thin is not a licence to read it optimistically. Note what has changed in the shape of the caveat since the last version of this page: the figure we published a week ago was the single positive cell of sixteen and had to be flagged as a selection. This one is one of the fifteen negative cells, so it is not a selection, and it is worse. Anyone who tells you one NFL season settles a question like this is selling something, and that includes us.

Read together, what the replay produces at the gate the product actually runs is a result that is below breakeven before fees and further below it after them, and we are not leaning on it. We publish it because it is the configuration that ships, and publishing only the version of your own research that flatters you is how a study turns into marketing. Week 1's opener produced no alert at all; the live NFL record started with the first alert after it, and it grades in the open, losses included.

Do not read this as a forecast. It is one season, replayed, on a gate chosen after looking at the data. Thresholds explored on a dataset cannot also be the evidence for those thresholds. Any single contract can lose 100% of your stake, and nothing here promises that you will come out ahead.

Method integrity, briefly

What we are doing about it

The live bot ships gated at edge of at least 0.12 and model strength of at least 0.70, loosened from 0.80 on 10 September 2026 after Week 1's opener produced no alert at all. On the backtest that gate is 228 signals across 119 of the 283 games replayed, so a little over two games in five carry at least one alert. It is a wider feed than the one this page described a week ago, and the cell attached to it grades below breakeven. That is the trade we made, stated rather than hidden.

The backtest above is the last unverifiable number we will show you. The live NFL record started with the first alert after Week 1's opener, which produced none. Every call goes into it as it fires and is graded when the game ends, losses on the same footing as wins, nothing deleted and nothing quietly dropped. It runs in the free proof channel at t.me/DegenHedgeProof and in the public results log. The mechanism argued on this page has already failed one such test — the order-book correction is what that looks like when we publish it — and the live log is where the next one would show up, whether we enjoy it or not.

Reference

Common questions about in-game repricing

Do the contracts reprice slower than the scoreboard?

That was our hypothesis, and the argument is a good one: a price only changes when someone submits or cancels an order, the quotes are resting limit orders placed minutes earlier by people who have not looked yet, nobody is obligated to keep in-game quotes current, in-game liquidity is thinner than pregame, and a full Sunday slate splits attention across a dozen simultaneous games. We no longer assert it as fact. When we instrumented the book around our own alerts, the alerted side did not measurably move at any horizon out to five minutes. See the correction.

What exactly is the signal?

The difference, in percentage points, between a live win-probability estimate for a team and the current market price of that team's contract. It is an observation about a disagreement between two estimates — an input to a decision you make yourself, never a promised outcome. We used to add that the gap closes on its own as flow arrives. Our own order-book snapshots do not support that, so we have stopped saying it.

Is a bigger gap a better signal?

No, and assuming otherwise is a good way to get hurt. Across our graded data the widest gaps have not graded better than moderate ones. A very large disagreement is more often a sign that one of the two inputs is broken than a sign of a large opportunity.

Does the gap close after an alert?

Not in our data. Across instrumented signals the median move on the alerted side was 0.0000¢ at every horizon out to 300 seconds, with a flat 1.0¢ spread and rising depth. We built this product on the belief that it did close, we tested that belief, and it did not hold. The measurement is here.

Do you publish NFL backtest results?

Yes, in full, in Part 5 above. We used to decline, and changed that when the figure entered our marketing. At the gate the live bot ships with — an edge of at least 0.12 and a model strength of at least 0.70, loosened from 0.80 on 10 September 2026 — entered two minutes after detection the way the live bot really polls, the 2025-26 season replay hit 60.9% of its 225 graded signals at a 62.5¢ average entry. Breakeven at that entry is 62.5%, so the cell sits 1.6 points below the breakeven its entry price implies, before fees, and further below after them: the backtest for the configuration we now run loses money, and we publish it. Measured on games the Wilson 95% interval is 53.2% to 70.4%. It is one of the fifteen negative cells in a sixteen-cell grid whose average is -2.12%, and that is the point — the grid's one positive cell is the gate we just left, so this figure was not chosen for looking good. We separately retired the one-minute row on 6 September 2026, because those signals are selected on the difference still being open a minute after detection, which a subscriber cannot condition on. It is a backtest, not a live record, and not a reason to buy anything. Week 1's opener produced no alert at all; the live NFL record started with the first alert after it and is graded in the public results log, losses included.

Is any of this betting advice?

No. DegenHedge is an information and entertainment tool for people who already trade these markets. Nothing here is financial, investment, or betting advice, no outcome is promised, and any single contract can lose 100% of your stake. 18+, or the legal age where you live. If gambling is a problem for you, call 1-800-GAMBLER.

Watch it happen in public

The mechanism above is a claim. The results log is where it gets checked.

NFL alerts are running, and the live record is still small

NFL alerts run on the same terms as every other sport: free for 30 days with a card required at checkout, then $4.99 a month, and if you cancel before day 30 you pay nothing. The live NFL record is still small. Week 1's opener produced no alert; from the first alert after it, every call has gone into the results log, losses included.

⚠️

Risk reality — read before acting on anything here

Prediction-market contracts settle at $1.00 or $0.00. Any single contract can lose 100% of your stake, and losing several in a row is a normal event, not a malfunction. Sizing is the whole game: if you cannot comfortably absorb five consecutive losses at your chosen size, that size is too large. A gap between a model and a market is an input, not an outcome, and fees, spread, and the delay between an alert and your order all take something off it.

Nothing on this page is financial, investment, or betting advice, and nothing here promises a return. Past performance does not guarantee future results. Trade only with money you can afford to lose. Must be 18+ or of legal age where you live — some platforms require 21+. If gambling is a problem for you, call 1-800-GAMBLER. Read the full risk disclosure →