Between March and July 2026 we graded 9,811 Kalshi BTC 15-minute windows — every up/down signal our model fired, logged before the window settled and scored at settlement, with nothing removed. Two things fall out of the data. First, when Bitcoin barely moves inside the window the outcome is a coin flip: in the near-flat bucket the market resolves the model's way 50.1% of the time — no better than chance — while windows with a large move resolve 98.9% of the time. Second, across the full sample the win rate simply tracks the price you pay: a contract entered near 100¢ resolves in your favor ~99.7% of the time, one entered at 80¢ or less about 53.4% — so the headline win rate is bought, not earned, and realized edge in expected-value (EV) terms is roughly zero before fees and slightly negative after.
The high published win rate is real, but it is mostly the market pricing near-certainty. The informational edge that remains is small, fragile, and disappears exactly when the window is flat. Near-flat windows should be read as coin flips.
Before the findings, the mechanics — because the whole result follows from them.
Kalshi's KXBTC15M series lists a fresh contract every fifteen minutes. Each one asks a single binary question: at the close of this 15-minute window, will Bitcoin be up or down versus the window's opening price? You buy "Up" or "Down" for somewhere between 1¢ and 99¢. At settlement the contract pays $1.00 if it resolved your way and $0.00 if it did not — there is no partial credit, no in-between. Settlement is scored against a Bitcoin index derived from Coinbase prices, not against any single trade print, so the only thing that ultimately matters is which side of the opening price the index sits on when the clock runs out.
Two structural facts shape everything downstream. The books are thin retail books — a handful of participants, modest depth, prices that can sit stale for seconds at a time. And there is a lag: when the index ticks, a model watching the raw price can register the new state before the resting orders on Kalshi reprice to match. That gap between the index and the quoted price is the only place a real informational edge can live, and we document the mechanism in depth in our companion piece, The Kalshi Lag →.
Keep the settlement rule in mind, because it is the hinge of Finding 1: the outcome is not "did Bitcoin go up a lot?" It is "was the index one cent above the open, or one cent below?" When the window's total move is only a few dollars on a roughly $64,000 contract, that question is essentially a fair coin.
Sort every window by how far Bitcoin actually moved inside it, and the win rate is not flat — it climbs from a coin flip to near-certainty. The interesting part is the bottom of that ladder.
This is not a one-month artifact. Break the near-flat bucket out month by month across the whole sample and it never separates from a coin flip — the pattern is stable, not noise in a single slice.
| Month (2026) | Near-flat window win rate | Windows | Read |
|---|---|---|---|
| March | 50.0% | 76 | Coin flip |
| April | 52.6% | 352 | Coin flip |
| May | 48.4% | 438 | Coin flip |
| June | 50.7% | 274 | Coin flip |
| July | 46.4% | 69 | Coin flip |
Why do flat windows behave like coins? Because there is almost nothing to measure. The median flat-window move ≈ $19.87 on a contract worth roughly $64,000 — about 0.03%. At that scale the outcome is not decided by any trend; it is decided by settlement mechanics and sampling noise: the exact tick the index happens to print at the close, which side of the open it lands on by a few dollars, ordinary micro-jitter. A $20 wobble on a $64k number is a rounding error, and a rounding error resolves like a coin.
This is also where the model is at its most misleading. In near-flat windows the model can still report a high confidence number — but that confidence overstates reliability, because it is reading signal into a move that is statistically indistinguishable from noise. A 70% or 80% model probability on a window whose realized outcome is 50/50 is not an edge; it is the model being confidently wrong half the time. Treat high model confidence in a flat window as a warning, not a green light.
Finding 1 shows where the edge dies. Finding 2 shows why, even where the model is "right," being right is not the same as being ahead. Sort the same windows by the price you paid to enter, and the win rate tracks that price almost exactly.
Translate win rate and price into expected value per $1 staked and the picture is unambiguous. Because a payout of $1 at probability p costs about p dollars, a win rate that tracks the price leaves pre-fee EV at roughly zero across every bucket — and once Kalshi's fees come out, the residual tilts slightly negative.
| Contract entry price | Win rate (hit rate) | Pre-fee EV per $1 | After fees |
|---|---|---|---|
| 80¢ or less (toss-up) | 53.4% | ≈ $0.00 | slightly negative |
| 100¢ (near-certain) | 99.7% | ≈ $0.00 | slightly negative |
Put plainly: the win rate is bought, not earned. A high hit rate is not profit — you already paid for it in the entry price. The only real edge is timing: getting in during the brief lag before the thin book reprices. That timing edge is genuine but small, and in a flat window there is nothing to be early to, so it collapses back to a coin flip.
This is a measurement, not a recommendation. Here is how to read a headline win rate on 15-minute BTC without fooling yourself.
We publish the model's signals and grade them in the open because the honest version of this data is more useful than a marketing number. If you want the mechanism behind the timing effect, read The Kalshi Lag; for how the model is built and scored, see The Method. Everything here is for informational and entertainment purposes only. 18+ where legal — this is not betting advice.
The point of a study is that you can check it. Here is exactly what we did and where the raw data lives.
9,811 graded windows on Kalshi's KXBTC15M series, March–July 2026. Every up/down signal the model fired in that window is included.
Each signal is logged before the window's outcome is known — model probability and the live market price captured at signal time. The outcome is filled in automatically at settlement from the Coinbase-derived index. Wins and losses are scored the same way, and nothing is removed — no cherry-picking, no quiet deletions of losers.
Bucket the rows by realized in-window move (Finding 1) or by entry price (Finding 2), take the win rate per bucket, and compute EV as (win rate × $1) − price. The two charts above fall straight out.
The raw, per-signal log is public. Every graded window in this study — model probability, market price at signal, and settled outcome — is in the same feed:
Citations welcome. If you write about these markets, the CSV above is the primary source; this page is the canonical writeup. Dataset name for attribution: DegenHedge Kalshi Signal Dataset. Past performance does not guarantee future results.
You do not have to take our word for any of this — the honest version is the whole point.
Every signal this study is built on keeps posting to a public channel and a public results log, graded win or loss at settlement with nothing pulled. That is the primary way to follow this work — free, and checkable against the CSV above.
This is an automatically renewing subscription. The BTC 15-minute plan renews every month at $19.99/month and your payment method is charged at the start of each billing period until you cancel. Cancel anytime from your billing portal — cancellation takes effect at the end of the current period. 18+. Entertainment only.
These are 15-minute binary prediction-market contracts. Any single window can lose 100% of your stake. This study's own conclusion is that the win rate is priced in and realized expected value across the sample was roughly zero before fees and slightly negative after — a high hit rate is not a return. Nothing on this page is financial, investment, or betting advice.
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. If gambling is a problem for you, call 1-800-GAMBLER.