🏈 Mechanism Study · NFL In-Game Markets

The Scoreboard Moves in Seconds. The Order Book Takes Longer.

DegenHedge Research  ·  Published August 28, 2026  ·  ~12 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 interval of disagreement is what our NFL alerts measure. This piece explains the mechanism concretely: why the two clocks diverge, the four structural reasons the divergence persists 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 contains no performance figures, deliberately, and the last section explains why.

Subject: in-game NFL event contracts (KXNFLGAME) Replay sample: 283 games, 2025-26 season Evaluation: entries delayed 1–2 minutes Published performance: none — see below
🧾 No backtest marketing. We ran a full-season replay and we are not publishing its numbers anywhere on this page or on this site. The public NFL record starts at kickoff of game one — every call logged as it fires, graded when the game ends, losses included. Why we do it that way →
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 it doesn't close instantly

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 stale one. And a bigger gap is not a better signal.

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 whole phenomenon 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. We describe the general version of this on The Lag; this piece is about why football, specifically, separates them so hard.

Part 1 · Mechanism

Football moves in jumps, and jumps are what 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.

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)

The interval between an on-field event changing a team's win probability and the market price for that team moving to match — 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 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 the gap survives instead of closing instantly

A gap opening is unremarkable — it happens on every exchange in every asset. The interesting question is why it stays open long enough to be worth publishing an alert about. Four structural facts, none of them exotic.

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 a market looks like when prices are moved by retail participants reacting to a live event that they see later than a computer does. The same structure would appear on any venue with the same participants. The only real questions are 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 is.

The honest framing: we are not predicting football better than the market. We are reading the same public game state the market will read, arriving at a number a few steps earlier in the chain, and telling you when the two disagree. That is a timing observation. It carries no promise about how any individual contract settles.

The gap is a shrinking resource, and we would rather say so

Repricing lag is not a permanent feature of the world. It exists because a specific set of participants have a specific set of habits, and those change. More automated participants, deeper in-game liquidity, faster consumer data, and simply more people paying attention to in-game football markets all compress the window. We expect this to narrow over time, possibly quite a lot, and we would rather tell you that up front than pretend we have found something structural and eternal. If it narrows to nothing, the honest thing will be to say so in the results log, where it will be visible anyway.

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 9,800 graded 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 — it does not report what we measured, and the next section explains that choice.

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. That is minutes, not milliseconds, and it is a floor that no amount of engineering removes — broadcast to a large list is itself measured in minutes on a single bot connection. Evaluating a signal at its trigger instant measures a product nobody can buy. The one-to-two-minute delayed entry is not a conservatism knob; it is the actual mechanics of the alert.

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

The looser trigger settings did not survive delayed entry on the live feed. We tightened the thresholds rather than keep the setting that produced the nicer picture, and the live launch runs the tightened version.

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 · Disclosure

Why there is not a single performance figure on this page

We ran the backtest. We are deliberately not marketing it. That is a choice, and we would rather explain it than have you wonder what we are hiding.

Backtests flatter the people who run them. Not usually through fraud — through a hundred small, sincere decisions that all happen to break the same way. You pick a threshold after seeing which one looked best. You evaluate at a timestamp that turns out to be slightly early. You aggregate games in the way that feels natural and happens to smuggle in hindsight. You choose a season. Every one of those is defensible in isolation, and together they produce a number that is real arithmetic on a fake product. We found a timing leak in our own work that did exactly this, and we only found it because we went looking for it. We are not confident we would find the next one.

So the rule here is simple and absolute. You will not find an NFL win rate, an expected return, a unit count, a simulated bankroll curve, or a projection anywhere on this site. Not on this page, not on the NFL page, not in an outreach email. The first NFL number we ever show anyone will be a real one, produced by a live signal on a live game with money able to act on it.

That record starts at kickoff of game one. Every call is written to the public log as it fires and graded when the game ends. Losses are published on the same footing as wins, with nothing deleted and nothing quietly dropped — that is the entire point of publishing at all. If the mechanism described on this page does not hold up in live football, the honest place to discover that is the same log everyone else is reading, and it will be visible there whether we enjoy it or not.

The trade we are asking you to make is straightforward: we will not show you an impressive number today, and in exchange you get a real one you can check. If you want a record before you decide anything, the correct move is to wait and watch the log fill in. That option is deliberately open, it costs nothing, and we will not pretend otherwise to hurry you along.

Reference

Common questions about in-game repricing

Why do the contracts reprice slower than the scoreboard?

Because a price only changes when someone submits or cancels an order. Win probability changes the instant a play ends; 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.

What exactly is the signal?

The gap, 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 timing — an input to a decision you make yourself, never a promised outcome. The gap normally closes on its own as flow arrives, which is why it has to be surfaced quickly to be worth anything.

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 lag close over time?

We expect it to narrow as automated participants and in-game liquidity increase. It is a behavioral artifact of who currently trades these markets, not a law of nature, and we would rather say that plainly than sell it as permanent.

Do you publish NFL backtest results?

No — see the section above. We ran a full-season replay to test the mechanism and deliberately do not market its numbers. The public record starts at kickoff of game one, in the free proof channel and the 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 goes live at Week 1 — kickoff Wednesday, September 9

Nothing is for sale on this page and no NFL alerts are being delivered yet; the model stays quiet by design until the regular season starts. Join the launch list and we will email you when the first signal is live. Joining is free, does not reserve a spot, does not lock a price, and obligates you to nothing.

⚠️

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 →