What This Page Is Not
Nothing here was ever staked. Every number below is paper: the price we flagged, at the book we flagged it, graded against the real result. We wrote at the time that paper never gets a worse price than the one it quoted, and treated that as a mild caveat. It was the whole problem. On 86% of these plays the quoted price did not exist at any size.
Real money at flat stakes was the declared next stage. It was canceled before the first wager. Nothing was ever sold off the back of this record and nothing ever will be. Math, not picks: this is where the same bet paid more, never advice on what to bet.
The Gate, As Declared And As It Read At Retirement
Historical. The bar was written down before the window opened, which is the only time a bar is worth anything, and it lives in the code that computes this table, so the page cannot quote one number and the test another. What it could not check is whether the prices feeding it were real, and they were not. Read every "Yes" below as "yes, on paper, at prices nobody could get".
| Condition | Declared | Met | Result |
|---|---|---|---|
| Graded plays | 400 | 8691 | Yes |
| Distinct play dates | 14 | 18 | Yes |
| Top tier's 95% interval clear of zero | Entirely above 0% | 6.07% to 14.76% | Yes |
| Top tier beats the bottom tier | Above 0 points | 8.32 points | Yes |
Verdict as it stood on August 12, 2026, now void: PASSES so far: the top tier's return is above zero with its clustered 95% interval clear of zero, and it still beats the bottom tier on plays the config never saw.
Why it is void. The gate asks whether the top tier's return clears zero with its interval intact. It never asked whether the entry prices existed, and 98.2% of the top tier was priced at the one venue where they did not. Repriced, that tier returns -2.50%. A gate passed on prices nobody could take is not a gate passed. It is left on the page, with its old answer intact, because deleting the row would hide the thing worth learning: every condition here was satisfiable by a bug, and none of them was a check on the data underneath.
Intervals resample whole play dates rather than individual plays, because a slate's plays share games, players and books, and a per-play interval is materially too narrow. A positive point estimate whose interval straddles zero is not evidence of an edge.
Correction, August 11, 2026, from a reader on r/algobetting: with fewer than about 30 clusters, and this record has 18 play dates, the ordinary clustered interval runs too narrow and rejects a true null more often than its 5% label claims. Every interval on this page is now a wild cluster bootstrap with sign flips, which is the correction for a small number of clusters. The old, narrower interval is still shown beside it (top tier, old method: 7.12% to 13.47%), because swapping quietly to whichever number reads better is exactly the behaviour this page exists to make impossible. The gate still passes under the wider interval. As the record accumulates more play dates the two methods converge on their own. Daily fantasy pick'em legs are excluded from every number on this page: they carry no American price, so scoring them flat is a win-rate proxy and not a return. 7957 such legs were logged and set aside.
One difference worth naming so the arithmetic checks out. This table is the gate exactly as it was declared, and the declared version pools props and game lines inside each tier. The props table below is props only, which is the surface we actually claim, so its tier returns and the gap between them will not match this row to the decimal. Both are shown rather than reconciled into whichever reads better.
Player Props, Every Tier
Props were the surface we claimed. Flat one unit per play, losses included, no filtering by market, book or league. Sub-cutoff plays ("Lean") are published for the same reason the top tier is: a score that cannot separate them is not a score. Every return in this table is at the price we published, so read all of them against the repriced figures at the top of the page: on 86.4% of these plays that price was not obtainable.
| Tier | Graded | Record | Return | 95% interval | Win rate | Win rate 95% | Sortino | Units |
|---|---|---|---|---|---|---|---|---|
| strong | 5636 | 3851-1785 | +10.42% | 7.12 to 13.47 | 68.33% | 67.1 to 69.53 | 0.185 | +587.21 |
| solid | 1037 | 658-379 | +2.94% | -2.46 to 8.35 | 63.45% | 60.48 to 66.33 | 0.049 | +30.53 |
| lean | 1691 | 1147-544 | +4.00% | 1.05 to 7.04 | 67.83% | 65.56 to 70.01 | 0.071 | +67.72 |
| All props | 8364 | 5656-2708 | +8.20% | 6.05 to 10.36 | 67.62% | 66.61 to 68.62 | 0.144 | +685.47 |
Sortino is the mean unit return divided by the downside deviation, the raw ratio with no annualization, because annualizing a bet ledger implies a holding period that does not exist. Read it as return per unit of downside and only alongside the count next to it. 531 plays are still pending and 605 settled with no usable stat feed; neither is counted in any return above.
Does A Higher Score Actually Pay More
Return by score band, on graded props. This is the chart that answers the question, and the sentence under it is written by the page from the live numbers rather than typed by us.
As of today, higher scores are outperforming lower ones. The highest populated band (90-100, n=1086) returns 11.88% and the lowest (0-10, n=112) returns 3.93%, a spread of 7.95 points, and 3 of 9 adjacent steps move in the right direction. A flat or negative spread would mean the score is noise, and this sentence is written by the page from the live numbers, so it will say that on the day it is true.
Closing Line Value, Split Into Its Two Halves
A single closing-line-value number blends two unrelated things, and the blend flatters the score. We publish the split instead, because anyone can run this decomposition on our own data and we would rather it came from us.
The two halves add to the published figure exactly, with no residual, because the combined number is the closing fair minus our price and inserting the fair at flag time splits it in two. On the record as it stands, essentially all of it is the second half. The market moved -0.08 points toward our side on average, which is nothing, and our price was +3.57 points better than the market when we took it, which is everything.
Said plainly: our closing-line value is the product working, not the score predicting. That does not undo the returns in the table above, which are realized results and not a closing-price proxy, but anyone quoting our closing-line value as evidence the score is sharp is quoting the wrong number, and now they can see which one.
A stricter second reading is accruing: our entry price against the flagged book's own closing number, and against the best number available anywhere at close. That needs the whole price ladder captured at close, which nothing stored until this deploy, so it fills forward from here and is not backfilled. Reconstructing it for older plays would mean inventing closing prices we never recorded. So far, over 930 plays: +2.12pp against the flagged book's own close and +2.08pp against the best close anywhere.
Where This Record Is Weak
These are not footnotes. Anyone deciding whether to trust the record will find them, and a record that makes you hunt for them has already lost the argument it exists to win.
The entry prices were not obtainable, and that is the one that ended it. Found August 12, 2026. 86.4% of the graded plays here were priced at a single exchange, and on that venue we derived a side's price from the opposite side's order book. Both of its books are real offers funded by traders who want the other side, so they always sum above 100%, and mirroring one into the other returns a price better than anything bettable by the full width of the book. Measured against raw order books: 49 of 49 affected sides were quoted better than the price their own book actually filled at, median 7.9 points, no exceptions. Everything below this box was computed correctly on numbers that were wrong before the scoring ever saw them.
The middle of the ladder is not proven. Solid returns +2.94% while Lean, the tier below it, returns +4.00%. That is the wrong way round. Solid's 95% interval is -2.46 to 8.35, which includes zero, so the honest reading is that the middle tier has not demonstrated anything yet. Only the top tier clears the bar. Treat Solid as unproven, not as a weaker version of Strong. Only 3 of 9 adjacent score bands step in the right direction, so the ladder is not smooth even where the ends separate.
The top tier fires far too often. Strong is 67.4% of every graded prop. It was calibrated to be the top fifth or so of plays, and a badge that lands on two thirds of the board is not selecting much. The cause is understood and structural: the score saturates, so a large enough edge pins the scale near the top and everything above that point is indistinguishable. This is documented as v2 research, and it is deliberately not being fixed inside v1.0. Fixing a saturating score after seeing which plays won is how a record stops meaning anything.
Player prop grading for one league went dark for two weeks. Between 2026-07-22 to 2026-08-05, WNBA player props stopped receiving results while the other league graded nightly, because a scoreboard lookup was silently failing and three layers of error handling each swallowed it politely. It was found and fixed, and the affected plays were regraded from the real historical box scores rather than estimated or dropped: 401 of 424 plays in that window now carry a real result, with 23 genuinely ungradeable (players who did not appear, markets with no matching stat). Recovering a result is not rescoring: no score, tier or ruleset value was touched. A nightly data-level check now watches for the same shape of silence, and it fails on any league-day where every play is still ungraded long after the games finished, whatever the cause turns out to be next time.
Game lines are not a claim. They are logged so the record exists either way, and they are reported below on their own, never blended into the prop numbers. We do not claim an edge on game lines.
Game Lines, Logged And Unproven
Moneylines, spreads and totals. Shown for completeness with no return headline, because the sample is thin and we make no claim here.
| Graded | Record | Units | Return | 95% interval | Combined CLV | Market move | Shopping |
|---|---|---|---|---|---|---|---|
| 330 | 173-154-3 | -25.44 | -7.71% | -27.16 to 10.71 | +1.19pp | -0.24pp | +1.43pp |
The Forward Test, Canceled Before Its First Stake
Stage one was going to ask one question: does real return track paper return on the same plays. It never ran. It was canceled on August 12, 2026 with zero wagers placed and zero dollars staked, and what follows is the design as it was declared, kept for the record.
Canceled August 12, 2026, before the first stake. The slates it was about to place were built from the same derived exchange prices this page is retired over. The first one generated, on August 11, was full of prices that were not there, and the fix at the time was a re-verification step: re-check each play against the live board and drop it if the price had moved or the money behind it had gone. That step was checking the board against itself. The board's own depth figure for an affected side was computed from the opposite side's money, so the guard passed hardest on exactly the plays that were phantom. Staking real money against that would have been paying to discover it.
Nothing about the cancellation is a result. Stage 1 did not fail, it did not run. There is no real-versus-paper number here and there will never be one for v1.0. A future stage 1 belongs to a different ruleset, priced off books that have been reconciled against the venue's own screen first.
The design as declared, for the record:
Top 5 by score among Solid and Strong props flagged by 7:45 ET, ties by earliest flag then id, each one re-checked against the live board at that moment and replaced by the next play down if the price has moved more than 2.0 points or the money behind it has gone. No discretion. Stake is $5 flat per play with no exceptions and no staking scheme. Before each play's game start. Achieved price logged against flagged price on every wager. A play that cannot be placed in time is logged as missed, and one at a book without an account is logged as inaccessible, so plays that quietly vanish cannot look like plays that never qualified. Target is 300 graded staked plays.
Success criterion, set before the first stake and never applied: Realized ROI above 0% at 300 placed plays. Hard fail if the clustered 95% interval sits entirely below zero at any point after 100 placed plays; anything between extends in 100-play blocks. Declared before the first stake, superseding the original inside-the-paper-interval test, which a power calculation showed would fail a perfect signal about 40% of the time. Publishes either way.
What 300 plays can and cannot prove, stated up front so the criterion could not be graded on a curve later: at 300 flat-stake plays, realized return carries about 8.5 points of its own noise either way. If the true edge matches the paper record (+10%), the floor passes about 99 times in 100. If the edge is actually zero, it passes about half the time. If the edge is negative, it almost never passes. Telling +10% apart from +5% would take roughly 1,400 plays. This test is a smoke alarm for a dead or imaginary edge, not a thermometer for its exact size, and it is the strongest claim 300 plays can honestly support.
Amended on August 11, 2026, before any stake was placed: the first slate we generated was full of prices that no longer existed, and we read that as overnight staleness, plays flagged against orders in exchange prop books that empty out by morning. Each play was then re-checked against the live board when the slate froze, and one whose price had moved more than 2.0 points, or had less than $25 still resting behind it, was dropped and replaced by the next play down. That amendment was the right instinct pointed at the wrong cause, and it is the reason this section is a cancellation and not a result. The prices were not going stale. They had never been available, and the depth figure the guard checked was itself computed from the wrong side's money, so a phantom cleared the check more easily than a real price did. One day later the raw order books said so plainly.
The criterion above replaced the originally declared test (real return landing inside the paper record's interval) on August 11, 2026, before any stake was placed. The original test was withdrawn because the same power arithmetic showed it would fail a genuinely good signal about 40% of the time: the paper interval is narrow because it comes from thousands of plays, and 300 real plays are noisier than that band by construction. Changing a criterion after staking begins would be unacceptable; changing it before, in public, with the arithmetic shown, is the correction working as intended.
Final state: 0 placed, 0 graded, $0.00 staked. The daily slate email that fed this stage is switched off. It has not been deleted, so it can be turned back on the day a stage 1 exists again, on a ruleset whose prices have been checked against the venue's own screen first.
Provenance
What produced these numbers, and how you can check that it has not been quietly changed since. Full explainer and a script you can run: how to verify this record.
The scoring rules are sealed as v1.0. The seal is bound to a fingerprint of every value that can move a score: the tunable thresholds, the daily caps, the switches that decide which venues price a market, the price and de-vig code, and the list of books allowed to produce a flagged play. A tripwire re-checks that fingerprint on every boot and once per scan. If any of it moves, a new entry is written, the label stops being applied, and the change appears in the table below. The label follows the fingerprint, so it cannot be carried onto a changed ruleset by anyone editing a file.
The live configuration no longer matches the seal. New plays are being logged unstamped until the change is reviewed and named, which is the intended behaviour: the label stops rather than following a moved ruleset. Plays flagged before the seal are deliberately left unstamped. They were scored by the same numbers, but they predate the label, and the entries below are what proves which configuration produced them.
The retirement did not move any of this. Retiring v1.0 is a label on the page, not an edit to the record: no row, interval, chain link or scoring value was changed on August 12, 2026. That matters more than it sounds. The claim being made here is that the scoring rules never moved and the prices underneath them were wrong, and that claim is only checkable because the fingerprint below can still be verified against what it was. A retirement that also quietly rewrote the ledger would prove nothing. The one price-path change that shipped with the fix appears in the history below as a normal entry, which is the tripwire working rather than an exception to it.
Ruleset history
| Recorded | State | Version | Build | What moved |
|---|---|---|---|---|
| 2026-07-26 19:08:00 | Superseded | - | 937f24857 |
First entry, or a change outside the watched values |
| 2026-07-29 02:00:49 | Superseded | - | 8f649f364 |
price_code_hash: None -> c0cc311430a2712f |
| 2026-07-30 23:41:33 | Superseded | - | 6ed07dff5 |
price_code_hash: c0cc311430a2712f -> fe5538a61eefdab8 |
| 2026-08-05 14:49:27 | Superseded | - | eaafda490 |
KALSHI_CONSENSUS_MIN_BOOKS: absent -> 3; KALSHI_CONSENSUS_STRONG_DEVIATION_PP: absent -> 9.0; KALSHI_MIN_VOLUME: absent -> 4000; MIN_EXCHANGE_FILL_USD: absent -> 100.0; NOVIG_ENABLED: absent -> True; PM_CONSENSUS_MAX_DEVIATION_PP: absent -> 12.0; PROPHETX_ENABLED: absent -> True; SIGNAL_DAILY_CAP_DFS: absent -> 600; SIGNAL_PLATFORM_AWARE: absent -> True; SIGNAL_REGRADE_LOOKBACK_DAYS: absent -> 21; price_code_hash: fe5538a61eefdab8 -> 9bacbb2ce3d86b80 |
| 2026-08-07 23:39:27 | Superseded | - | 2471d9f7f |
POLYMARKET_US_ENABLED: absent -> True |
| 2026-08-10 00:47:23 | Superseded | v1.0 | 617038da6 |
_SIGNAL_EXCLUDE_BOOKS: absent -> ['betonlineag', 'bovada', 'fliff', 'kalshi', 'lowvig', 'mybookieag', 'pinnacle', 'polymarket', 'polymarket_us'] |
| 2026-08-12 15:29:26 | Active | - | 4c409fb4f |
PROPHETX_PUBLISH_DERIVED: absent -> False; price_code_hash: 9bacbb2ce3d86b80 -> 976fb8c16f987f55 |
Some entries record the tripwire widening its own coverage rather than the ruleset changing: when a value that could always have moved a score starts being watched for the first time, it reads as "absent" before and a real value after, which is a change in what we monitor and not in what we compute.
Hash chain
Every settled play date is serialized in a fixed, published format, hashed, and chained to the previous day's hash. The chain is mirrored to a public location outside our database, so the timestamps are not ours to rewrite. Change one graded result after the fact and that day's hash moves, every link after it fails to reproduce, and the break names the exact date. A chain cannot prevent an edit. It makes an edit impossible to hide, which is the claim we are actually making.
Chain starts 2026-07-25,
24 links,
current tip edea71d254f039800fc2510fc2026b462a910f838b17a4cbe0059fca11292360,
status intact.
8 day(s) were amended after sealing, each as a new
link with the earlier one left in place: a late or corrected box score is legitimate, an
invisible one is not.
Every Play
Download Full Dataset (CSV) Every row below, in the exact field order the hash chain verifies.
Newest first, 11553 plays in the window. Nothing here was filtered, removed or restated when the ruleset was retired: the rows, the prices and the results are byte for byte what they were, which is what the hash chain checks. The entry prices are the ones we published, and on most of these the exchange was not offering them.
| Flagged (ET) | Matchup | Play | Book | Entry | Entry fair | Closing fair | CLV | Score | Tier | Result | Units |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Nick Fortes Under 1.5 Hits + Runs + RBIs | ProphetX | -111 | 56.97% | 59.05% | +6.44 | 80.1 | strong | win | +0.901 |
| Aug 2, 6:00 AM ET | Pittsburgh Pirates @ Cincinnati Reds | Nathaniel Lowe Under 0.5 RBIs | ProphetX | -182 | 69.21% | 68.27% | +3.73 | 85.9 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Pittsburgh Pirates @ Cincinnati Reds | Nathaniel Lowe Under 0.5 Hits | ProphetX | +184 | 37.83% | 39.13% | +3.92 | 48.1 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Pittsburgh Pirates @ Cincinnati Reds | Nathaniel Lowe Under 1.5 Hits + Runs + RBIs | ProphetX | +102 | 51.50% | 53.07% | +3.57 | 36.7 | solid | loss | -1.000 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Nathan Church Under 0.5 RBIs | ProphetX | -209 | 70.59% | 73.09% | +5.45 | 54.3 | strong | win | +0.478 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Nathan Church Under 0.5 Home Runs | ProphetX | -765 | 90.47% | 92.81% | +4.37 | 20.9 | lean | win | +0.131 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Nathan Church Under 0.5 Hits | ProphetX | +163 | 41.11% | 42.74% | +4.72 | 56.6 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Indiana Fever @ Minnesota Lynx | Natasha Howard Under 6.5 Rebounds | ProphetX | -110 | 57.70% | 58.32% | +5.94 | 86.0 | strong | win | +0.909 |
| Aug 2, 6:00 AM ET | Indiana Fever @ Minnesota Lynx | Natasha Howard Over 18.5 Pts + Reb | ProphetX | +122 | 47.87% | 48.29% | +3.24 | 52.0 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Indiana Fever @ Minnesota Lynx | Natasha Howard Under 21.5 Pts + Reb + Ast | ProphetX | +115 | 51.23% | 51.52% | +5.01 | 76.3 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Myles Straw Under 0.5 Hits | ProphetX | +126 | 45.45% | 42.17% | -2.08 | 12.3 | lean | win | +1.260 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Myles Straw Under 1.5 Hits + Runs + RBIs | ProphetX | -143 | 60.61% | 58.41% | -0.44 | 32.4 | solid | win | +0.699 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Munetaka Murakami Under 0.5 RBIs | ProphetX | -190 | 70.02% | 70.12% | +4.60 | 82.7 | strong | win | +0.526 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Munetaka Murakami Under 0.5 Home Runs | ProphetX | -418 | 85.09% | 82.50% | +1.81 | 80.8 | strong | win | +0.239 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Munetaka Murakami Under 0.5 Hits | ProphetX | +147 | 43.18% | 45.01% | +4.52 | 49.5 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Munetaka Murakami Under 1.5 Hits + Runs + RBIs | ProphetX | -114 | 56.97% | 57.78% | +4.51 | 67.9 | strong | win | +0.877 |
| Aug 2, 6:00 AM ET | Indiana Fever @ Minnesota Lynx | Monique Billings Over 5.5 Rebounds | ProphetX | +102 | 54.51% | 55.34% | +5.84 | 92.0 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Pittsburgh Pirates @ Cincinnati Reds | Mitch Keller Under 4.5 Strikeouts | ProphetX | +127 | 46.63% | 46.84% | +2.79 | 47.4 | strong | win | +1.270 |
| Aug 2, 6:00 AM ET | Washington Nationals @ Atlanta Braves | Mike Yastrzemski Under 0.5 Home Runs | ProphetX | -765 | 94.11% | 90.31% | +1.87 | 100.0 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Miguel Vargas Under 1.5 Total Bases | ProphetX | -131 | 59.84% | 60.30% | +3.59 | 57.4 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Miguel Vargas Under 0.5 RBIs | ProphetX | -167 | 66.01% | 68.14% | +5.59 | 63.7 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Miguel Vargas Under 0.5 Home Runs | ProphetX | -505 | 85.33% | 85.82% | +2.35 | 19.1 | lean | loss | -1.000 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Miguel Vargas Under 0.5 Hits | ProphetX | +196 | 35.18% | 37.41% | +3.63 | 25.7 | lean | loss | -1.000 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Miguel Vargas Under 1.5 Hits + Runs + RBIs | ProphetX | +110 | 51.29% | 53.37% | +5.75 | 67.4 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Washington Nationals @ Atlanta Braves | Michael Harris II Under 0.5 Home Runs | ProphetX | -633 | 88.58% | 86.85% | +0.49 | 40.8 | solid | win | +0.158 |
| Aug 2, 6:00 AM ET | Los Angeles Sparks @ Portland Fire | Megan DiLeo Under 4.5 Rebounds | Novig | -125 | 57.30% | 56.09% | +0.53 | 32.1 | lean | loss | -1.000 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Max Kepler Under 0.5 RBIs | ProphetX | -198 | 70.48% | 72.48% | +6.04 | 74.2 | strong | win | +0.505 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Max Kepler Under 0.5 Home Runs | ProphetX | -551 | 88.58% | 88.73% | +4.09 | 72.4 | strong | win | +0.181 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Max Kepler Under 0.5 Hits | ProphetX | +149 | 42.05% | 45.03% | +4.87 | 34.6 | solid | win | +1.490 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Max Kepler Under 1.5 Hits + Runs + RBIs | ProphetX | -123 | 57.91% | 61.12% | +5.96 | 50.5 | strong | win | +0.813 |
| Aug 2, 6:00 AM ET | Washington Nationals @ Atlanta Braves | Matt Olson Under 0.5 Home Runs | ProphetX | -469 | 84.73% | 84.42% | +1.99 | 23.7 | lean | loss | -1.000 |
| Aug 2, 6:00 AM ET | Pittsburgh Pirates @ Cincinnati Reds | Matt McLain Under 0.5 RBIs | ProphetX | -230 | 74.84% | 73.82% | +4.12 | 94.5 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Pittsburgh Pirates @ Cincinnati Reds | Matt McLain Under 0.5 Home Runs | ProphetX | -592 | 87.81% | 89.40% | +3.85 | 23.2 | lean | win | +0.169 |
| Aug 2, 6:00 AM ET | Pittsburgh Pirates @ Cincinnati Reds | Matt McLain Over 0.5 Hits + Runs + RBIs | ProphetX | -124 | 59.03% | 58.45% | +3.09 | 67.6 | strong | win | +0.806 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Masyn Winn Under 0.5 RBIs | ProphetX | -209 | 72.21% | 72.21% | +4.57 | 84.0 | strong | win | +0.478 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Masyn Winn Under 0.5 Home Runs | ProphetX | -827 | 91.77% | 91.94% | +2.73 | 26.3 | lean | win | +0.121 |
| Aug 2, 6:00 AM ET | Toronto Tempo @ Golden State Valkyries | Marina Mabrey Under 7.5 Reb + Ast | ProphetX | -114 | 55.87% | 55.87% | +2.60 | 47.8 | strong | clv only | - |
| Aug 2, 6:00 AM ET | Toronto Tempo @ Golden State Valkyries | Marina Mabrey Over 19.5 Points | Novig | +111 | 48.43% | 46.74% | -0.65 | 10.6 | lean | clv only | - |
| Aug 2, 6:00 AM ET | Toronto Tempo @ Golden State Valkyries | Marina Mabrey Under 22.5 Pts + Reb | ProphetX | +123 | 49.28% | 51.00% | +6.16 | 81.5 | strong | clv only | - |
| Aug 2, 6:00 AM ET | Pittsburgh Pirates @ Cincinnati Reds | Marcell Ozuna Under 0.5 RBIs | ProphetX | -245 | 75.22% | 76.44% | +5.43 | 77.3 | strong | clv only | - |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Luis Urias Under 0.5 RBIs | ProphetX | -235 | 72.60% | 73.19% | +3.04 | 45.0 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Luis Urias Under 0.5 Home Runs | ProphetX | -592 | 89.43% | 89.28% | +3.73 | 71.2 | strong | win | +0.169 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Luis Urias Under 0.5 Hits | ProphetX | +190 | 37.09% | 36.89% | +2.41 | 47.8 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Luis Robert Jr. Under 1.5 Total Bases | ProphetX | -147 | 62.46% | 63.27% | +3.76 | 54.2 | strong | win | +0.680 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Luis Robert Jr. Under 0.5 RBIs | ProphetX | -159 | 66.13% | 67.81% | +6.42 | 87.1 | strong | win | +0.629 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Luis Robert Jr. Under 0.5 Home Runs | ProphetX | -592 | 87.66% | 89.11% | +3.56 | 21.7 | lean | win | +0.169 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Luis Robert Jr. Under 1.5 Hits + Runs + RBIs | ProphetX | +119 | 50.00% | 50.50% | +4.84 | 79.7 | strong | win | +1.190 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Liam Hicks Under 1.5 Total Bases | ProphetX | -124 | 58.80% | 57.93% | +2.57 | 35.4 | solid | win | +0.806 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Liam Hicks Under 0.5 RBIs | ProphetX | -167 | 66.61% | 70.16% | +7.61 | 74.6 | strong | win | +0.599 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Liam Hicks Under 0.5 Home Runs | ProphetX | -633 | 90.16% | 90.22% | +3.86 | 69.9 | strong | win | +0.158 |
| Aug 2, 6:00 AM ET | Connecticut Sun @ Dallas Wings | Leïla Lacan Over 19.5 Pts + Reb + Ast | ProphetX | +120 | 48.65% | 52.17% | +6.72 | 58.6 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Connecticut Sun @ Dallas Wings | Leïla Lacan Over 4.5 Assists | ProphetX | +113 | 52.83% | 54.15% | +7.20 | 95.1 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Philadelphia Phillies @ Baltimore Orioles | Leody Taveras Under 0.5 RBIs | ProphetX | -230 | 75.14% | 78.35% | +8.65 | 88.0 | strong | win | +0.435 |
| Aug 2, 6:00 AM ET | Philadelphia Phillies @ Baltimore Orioles | Leody Taveras Under 0.5 Home Runs | ProphetX | -765 | 92.32% | 91.94% | +3.50 | 39.9 | solid | win | +0.131 |
| Aug 2, 6:00 AM ET | Philadelphia Phillies @ Baltimore Orioles | Leody Taveras Under 0.5 Hits | ProphetX | +157 | 42.09% | 46.59% | +7.68 | 58.5 | strong | win | +1.570 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Lars Nootbaar Under 0.5 RBIs | ProphetX | -182 | 69.04% | 69.40% | +4.86 | 82.6 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Lars Nootbaar Under 0.5 Home Runs | ProphetX | -541 | 85.97% | 85.22% | +0.82 | 16.1 | lean | win | +0.185 |
| Aug 2, 6:00 AM ET | Texas Rangers @ Houston Astros | LaMonte Wade Jr. Under 0.5 RBIs | ProphetX | -291 | 79.50% | 78.05% | +3.63 | 93.3 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Texas Rangers @ Houston Astros | LaMonte Wade Jr. Under 0.5 Hits | ProphetX | +102 | 53.05% | 53.37% | +3.87 | 36.5 | solid | loss | -1.000 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Kyle Stowers Under 0.5 RBIs | ProphetX | -129 | 59.66% | 61.65% | +5.32 | 61.2 | strong | win | +0.775 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Kyle Stowers Under 0.5 Home Runs | ProphetX | -367 | 81.37% | 80.96% | +2.37 | 28.6 | lean | win | +0.272 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Kyle Stowers Under 1.5 Hits + Runs + RBIs | ProphetX | +137 | 46.08% | 46.63% | +4.44 | 71.4 | strong | win | +1.370 |
| Aug 2, 6:00 AM ET | Philadelphia Phillies @ Baltimore Orioles | Kyle Schwarber Under 0.5 RBIs | ProphetX | -135 | 59.24% | 62.90% | +5.45 | 33.0 | solid | loss | -1.000 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Kyle Manzardo Under 0.5 RBIs | ProphetX | -182 | 69.04% | 66.13% | +1.59 | 82.6 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Kyle Manzardo Under 0.5 Home Runs | ProphetX | -469 | 84.65% | 84.99% | +2.56 | 22.9 | lean | win | +0.213 |
| Aug 2, 6:00 AM ET | Texas Rangers @ Houston Astros | Kumar Rocker Over 4.5 Strikeouts | ProphetX | -108 | 56.87% | 53.37% | +1.45 | 91.0 | strong | win | +0.926 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Ketel Marte Under 0.5 RBIs | ProphetX | -163 | 64.83% | 67.59% | +5.61 | 29.4 | lean | win | +0.613 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Ketel Marte Under 0.5 Home Runs | ProphetX | -474 | 85.32% | 85.80% | +3.22 | 28.2 | lean | win | +0.211 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Ketel Marte Under 1.5 Hits + Runs + RBIs | ProphetX | +105 | 50.39% | 53.37% | +4.59 | 29.6 | lean | win | +1.050 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Kazuma Okamoto Under 1.5 Total Bases | ProphetX | -117 | 58.33% | 57.95% | +4.03 | 81.1 | strong | win | +0.855 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Kazuma Okamoto Under 0.5 RBIs | ProphetX | -153 | 64.78% | 64.44% | +3.97 | 79.1 | strong | win | +0.654 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Kazuma Okamoto Under 0.5 Home Runs | ProphetX | -347 | 81.24% | 81.08% | +3.45 | 66.3 | strong | win | +0.288 |
| Aug 2, 6:00 AM ET | Toronto Tempo @ Golden State Valkyries | Kayla Thornton Over 15.5 Pts + Reb + Ast | ProphetX | +118 | 51.08% | 50.00% | +4.13 | 95.8 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Indiana Fever @ Minnesota Lynx | Kayla McBride Over 2.5 Rebounds | Fanatics | +115 | 48.42% | 52.17% | +5.66 | 19.6 | lean | win | +1.150 |
| Aug 2, 6:00 AM ET | Indiana Fever @ Minnesota Lynx | Kayla McBride Under 2.5 Assists | Novig | -130 | 58.54% | 55.27% | -1.25 | 20.7 | lean | win | +0.769 |
| Aug 2, 6:00 AM ET | Philadelphia Phillies @ Baltimore Orioles | Justin Crawford Over 0.5 Total Bases | ProphetX | -147 | 64.24% | 62.29% | +2.78 | 86.8 | strong | win | +0.680 |
| Aug 2, 6:00 AM ET | Philadelphia Phillies @ Baltimore Orioles | Justin Crawford Under 0.5 RBIs | ProphetX | -276 | 78.32% | 76.18% | +2.78 | 90.3 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Philadelphia Phillies @ Baltimore Orioles | Justin Crawford Under 0.5 Hits | ProphetX | +186 | 37.37% | 37.84% | +2.87 | 44.3 | solid | loss | -1.000 |
| Aug 2, 6:00 AM ET | Philadelphia Phillies @ Baltimore Orioles | Justin Crawford Under 1.5 Hits + Runs + RBIs | ProphetX | -114 | 57.19% | 56.49% | +3.22 | 71.9 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Junior Caminero Under 0.5 RBIs | ProphetX | -141 | 60.72% | 61.63% | +3.12 | 22.8 | lean | win | +0.709 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Junior Caminero Under 1.5 Hits | ProphetX | -214 | 69.96% | 69.42% | +1.27 | 33.2 | solid | loss | -1.000 |
| Aug 2, 6:00 AM ET | Toronto Tempo @ Golden State Valkyries | Julie Allemand Over 5.5 Assists | ProphetX | +116 | 52.03% | 48.44% | +2.14 | 100.0 | strong | win | +1.160 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Jose Ramirez Over 0.5 Walks | Fanatics | +170 | 38.71% | 39.55% | +2.51 | 30.7 | solid | loss | -1.000 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Jose Ramirez Under 1.5 Total Bases | ProphetX | -121 | 56.22% | 55.98% | +1.23 | 15.1 | lean | win | +0.826 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Jose Ramirez Under 0.5 RBIs | ProphetX | -184 | 66.81% | 66.01% | +1.22 | 20.8 | lean | win | +0.543 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Jose Ramirez Over 0.5 Hits | Kalshi | -208 | 69.04% | 68.33% | +0.80 | 15.5 | lean | win | +0.481 |
| Aug 2, 6:00 AM ET | Arizona Diamondbacks @ Cleveland Guardians | Jose Ramirez Under 1.5 Hits + Runs + RBIs | ProphetX | +127 | 45.53% | 44.06% | +0.01 | 27.2 | lean | loss | -1.000 |
| Aug 2, 6:00 AM ET | Texas Rangers @ Houston Astros | Jose Altuve Under 1.5 Total Bases | ProphetX | -147 | 62.43% | 66.30% | +6.79 | 53.5 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Texas Rangers @ Houston Astros | Jose Altuve Under 0.5 RBIs | ProphetX | -209 | 71.79% | 71.57% | +3.93 | 42.7 | solid | loss | -1.000 |
| Aug 2, 6:00 AM ET | Texas Rangers @ Houston Astros | Jose Altuve Under 0.5 Home Runs | ProphetX | -551 | 89.03% | 89.41% | +4.77 | 80.6 | strong | win | +0.181 |
| Aug 2, 6:00 AM ET | Texas Rangers @ Houston Astros | Jose Altuve Under 1.5 Hits + Runs + RBIs | ProphetX | -110 | 56.14% | 54.77% | +2.39 | 69.1 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Jorge Polanco Under 0.5 RBIs | ProphetX | -219 | 72.60% | 75.14% | +6.49 | 72.5 | strong | win | +0.457 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Jorge Polanco Under 0.5 Home Runs | ProphetX | -633 | 89.43% | 90.18% | +3.82 | 56.4 | strong | win | +0.158 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Jorge Polanco Under 0.5 Hits | ProphetX | +147 | 42.27% | 45.19% | +4.70 | 18.3 | lean | win | +1.470 |
| Aug 2, 6:00 AM ET | Miami Marlins @ New York Mets | Jorge Polanco Under 1.5 Hits + Runs + RBIs | ProphetX | -122 | 59.05% | 58.85% | +3.90 | 75.3 | strong | win | +0.820 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Jordan Walker Under 1.5 Total Bases | ProphetX | -108 | 56.66% | 56.43% | +4.51 | 87.0 | strong | loss | -1.000 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Jordan Walker Under 0.5 RBIs | ProphetX | -153 | 64.78% | 65.27% | +4.80 | 44.3 | solid | loss | -1.000 |
| Aug 2, 6:00 AM ET | St. Louis Cardinals @ Toronto Blue Jays | Jordan Walker Under 0.5 Home Runs | ProphetX | -367 | 81.72% | 81.84% | +3.25 | 32.2 | solid | win | +0.272 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Jonny Deluca Under 1.5 Total Bases | ProphetX | -159 | 65.28% | 67.20% | +5.81 | 71.5 | strong | win | +0.629 |
| Aug 2, 6:00 AM ET | Chicago White Sox @ Tampa Bay Rays | Jonny Deluca Under 0.5 RBIs | ProphetX | -190 | 69.90% | 70.48% | +4.96 | 80.5 | strong | win | +0.526 |
What Happens Next
Clean data is recording from the fix onward. The prices that caused this stopped being published on August 12, 2026. Scoring continues to run and log, so a new sample accrues from that date on prices that are actually there. None of it is a claim yet and none of it is being shown as one.
Every finding this record produced is demoted to a hypothesis. The score ladder separating, the top tier clearing zero, the closing-line-value split, the saturation diagnosis: each of those was measured on the contaminated sample, so each one now needs re-testing on clean data before it is repeated anywhere. Anything on this site that cited them as established has been corrected. They are not disproven, they are unproven.
v2 is targeted for October 2026 with its own gates, written before its window opens. Those gates will include the ones that were missing here: a served two-sided price pair from a single book may never sum below 100%, an exchange price may never be derived from the opposite side's order book on a venue that already publishes both sides, and a record concentrated in one venue inherits that venue's bugs and has to be reported by venue as well as in total. v2 starts from zero. It does not inherit a play, a number or a claim from this page.
The original rule still stands and is worth restating now that it has been tested: only a structural change can create a new version, and performance never can. This retirement is not a bad stretch becoming a retune. The scoring rules were never touched, and the freeze history below proves it: what moved was the price data underneath them, and the record is being retired rather than re-fitted.
The daily +EV pick ledger is a different page and a different thing: TOG Daily Record is the single featured pick each day, this page is every play the signal scored. The math behind the score is at /methodology.