What This Page Is Not
Nothing here is staked. Every number below is paper: the price we flagged, at the book we flagged it, graded against the real result. That is a genuine out-of-sample test of the scoring rules, and it is also the easiest kind of record to produce, because paper never gets a worse price than the one it quoted.
Real money at flat stakes is the declared next stage and it starts now, one wager at a time, placed by hand. Nothing is for sale until that reads, and it publishes either way. Math, not picks: this is where the same bet paid more, never advice on what to bet.
The Gate, As Declared And As Met
The bar was written down before the window opened, which is the only time a bar is worth anything. It lives in the code that computes this table, so the page cannot quote one number and the test another.
| Condition | Declared | Met | Result |
|---|---|---|---|
| Graded plays | 400 | 7723 | Yes |
| Distinct play dates | 14 | 16 | Yes |
| Top tier's 95% interval clear of zero | Entirely above 0% | 5.06% to 14.68% | Yes |
| Top tier beats the bottom tier | Above 0 points | 6.78 points | Yes |
Verdict: 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.
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 16 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: 6.47% to 13.39%), 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. 6836 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 are the surface we claim. 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.
| Tier | Graded | Record | Return | 95% interval | Win rate | Win rate 95% | Sortino | Units |
|---|---|---|---|---|---|---|---|---|
| strong | 5101 | 3470-1631 | +9.87% | 6.47 to 13.39 | 68.03% | 66.73 to 69.29 | 0.175 | +503.62 |
| solid | 909 | 564-345 | +2.30% | -4.24 to 8.65 | 62.05% | 58.85 to 65.14 | 0.037 | +20.93 |
| lean | 1416 | 965-451 | +5.70% | 3.06 to 8.29 | 68.15% | 65.68 to 70.52 | 0.101 | +80.76 |
| All props | 7426 | 4999-2427 | +8.15% | 5.76 to 10.63 | 67.32% | 66.24 to 68.38 | 0.143 | +605.31 |
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. 537 plays are still pending and 537 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=1023) returns 11.32% and the lowest (0-10, n=94) returns 5.49%, a spread of 5.83 points, and 4 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.02 points toward our side on average, which is nothing, and our price was +3.61 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. No plays have closed under the new capture yet, so there is nothing to report and we are not going to reconstruct it from data we did not store.
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 middle of the ladder is not proven. Solid returns +2.30% while Lean, the tier below it, returns +5.70%. That is the wrong way round. Solid's 95% interval is -4.24 to 8.65, 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 4 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 68.7% 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 |
|---|---|---|---|---|---|---|---|
| 300 | 156-141-3 | -27.82 | -9.27% | -31.52 to 10.67 | +1.22pp | -0.22pp | +1.44pp |
The Forward Test, Real Money At Flat Stakes
Stage one asks one question: does real return track paper return on the same plays. Not profit. The staked subset is declared and deterministic so it cannot be cherry picked after the fact.
Top 5 by score among Solid and Strong props flagged by 7:45 ET, ties by earliest flag then id. 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: 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 cannot 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.
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.
No stakes recorded yet. This section fills in as wagers are placed by hand, one at a time. Every bet is placed by a person; nothing here places a wager automatically, ever.
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 still matches the seal, and 94 plays carry the v1.0 stamp so far. 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.
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 | Active | v1.0 | 617038da6 |
_SIGNAL_EXCLUDE_BOOKS: absent -> ['betonlineag', 'bovada', 'fliff', 'kalshi', 'lowvig', 'mybookieag', 'pinnacle', 'polymarket', 'polymarket_us'] |
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,
16 links,
current tip e03e2986196fc8851e3bdef2749586be2d5926a61b787119b9beba44997e9bc5,
status intact.
2 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, 10321 plays in the window. Pending plays appear the moment they are flagged, which is what makes the timestamps mean anything. Nothing is filtered, retired or restated.
| Flagged (ET) | Matchup | Play | Book | Entry | Entry fair | Closing fair | CLV | Score | Tier | Result | Units |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Jacob Gonzalez Under 0.5 Home Runs | ProphetX | -510 | 90.57% | 91.33% | +7.72 | 97.0 | strong | win | +0.196 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Jacob Gonzalez Under 1.5 Hits + Runs + RBIs | ProphetX | +123 | 52.11% | 53.05% | +8.21 | 97.0 | strong | win | +1.230 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Jackson Holliday Under 0.5 Total Bases | ProphetX | +151 | 43.57% | 44.89% | +5.05 | 68.4 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Jackson Holliday Under 0.5 RBIs | ProphetX | -204 | 73.57% | 73.75% | +6.64 | 100.0 | strong | win | +0.490 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Jackson Holliday Under 0.5 Home Runs | ProphetX | -510 | 90.87% | 90.72% | +7.11 | 97.0 | strong | win | +0.196 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Jackson Holliday Under 0.5 Hits | ProphetX | +149 | 44.24% | 44.97% | +4.81 | 75.0 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Jackson Holliday Under 1.5 Hits + Runs + RBIs | ProphetX | -137 | 60.38% | 60.06% | +2.25 | 47.2 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Portland Fire @ Las Vegas Aces | Jackie Young Under 17.5 Points | ProphetX | +107 | 52.92% | 47.52% | -0.79 | 84.7 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Portland Fire @ Las Vegas Aces | Jackie Young Under 21.5 Pts + Reb | ProphetX | +111 | 51.99% | 50.11% | +2.72 | 74.3 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Portland Fire @ Las Vegas Aces | Jackie Young Over 28.5 Pts + Reb + Ast | ProphetX | +123 | 48.94% | 49.28% | +4.44 | 75.2 | strong | win | +1.230 |
| Jul 27, 6:00 AM ET | Portland Fire @ Las Vegas Aces | Jackie Young Under 6.5 Assists | ProphetX | +151 | 42.96% | 47.83% | +7.99 | 32.1 | lean | win | +1.510 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | JJ Bleday Under 0.5 RBIs | ProphetX | -149 | 62.05% | 61.25% | +1.41 | 40.7 | solid | win | +0.671 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | JJ Bleday Under 1.5 Hits + Runs + RBIs | ProphetX | +125 | 48.45% | 46.15% | +1.71 | 73.6 | strong | win | +1.250 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | J.T. Realmuto Under 1.5 Total Bases | ProphetX | -141 | 64.05% | 63.73% | +5.22 | 100.0 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | J.T. Realmuto Under 0.5 RBIs | ProphetX | -190 | 69.29% | 72.21% | +6.69 | 69.4 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | J.T. Realmuto Under 0.5 Home Runs | ProphetX | -582 | 92.71% | 93.97% | +8.63 | 100.0 | strong | win | +0.172 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | J.P. Crawford Over 0.5 Total Bases | ProphetX | -112 | 57.35% | 58.33% | +5.50 | 83.0 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | J.P. Crawford Under 0.5 RBIs | ProphetX | -286 | 75.14% | 75.42% | +1.33 | 10.8 | lean | loss | -1.000 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | J.P. Crawford Under 0.5 Home Runs | ProphetX | -582 | 93.12% | 93.63% | +8.29 | 97.0 | strong | win | +0.172 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | J.P. Crawford Under 0.5 Hits | ProphetX | +147 | 42.49% | 42.27% | +1.78 | 36.7 | solid | win | +1.470 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | J.P. Crawford Under 1.5 Hits + Runs + RBIs | ProphetX | -133 | 58.95% | 58.70% | +1.62 | 34.4 | solid | win | +0.752 |
| Jul 27, 6:00 AM ET | Toronto Tempo @ Minnesota Lynx | Isabelle Harrison Over 5.5 Rebounds | ProphetX | -104 | 54.78% | 54.01% | +3.03 | 69.8 | strong | clv only | - |
| Jul 27, 6:00 AM ET | Toronto Tempo @ Minnesota Lynx | Isabelle Harrison Under 11.5 Points | ProphetX | +110 | 52.35% | 53.88% | +6.26 | 86.9 | strong | clv only | - |
| Jul 27, 6:00 AM ET | Toronto Tempo @ Minnesota Lynx | Isabelle Harrison Over 17.5 Pts + Reb | ProphetX | +125 | 48.02% | 48.43% | +3.99 | 65.8 | strong | clv only | - |
| Jul 27, 6:00 AM ET | Toronto Tempo @ Minnesota Lynx | Isabelle Harrison Over 19.5 Pts + Reb + Ast | ProphetX | +120 | 48.76% | 49.55% | +4.10 | 60.8 | strong | clv only | - |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Heriberto Hernandez Under 0.5 Total Bases | ProphetX | +151 | 42.25% | 42.22% | +2.38 | 44.3 | solid | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Heriberto Hernandez Under 0.5 Singles | BetMGM | -135 | 61.29% | 54.57% | -2.88 | 70.7 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Heriberto Hernandez Under 0.5 Home Runs | ProphetX | -490 | 89.85% | 86.93% | +3.88 | 97.0 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Heriberto Hernandez Under 0.5 Hits | ProphetX | +141 | 43.94% | 36.42% | -5.07 | 25.2 | lean | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Heriberto Hernandez Under 0.5 Hits + Runs + RBIs | ProphetX | +172 | 39.61% | 39.07% | +2.31 | 52.3 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Henry Davis Under 0.5 RBIs | ProphetX | -204 | 74.81% | 74.26% | +7.15 | 100.0 | strong | win | +0.490 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Henry Davis Under 0.5 Hits | ProphetX | +122 | 47.59% | 48.40% | +3.35 | 46.7 | strong | win | +1.220 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Hao-Yu Lee Under 0.5 RBIs | ProphetX | -291 | 77.52% | 70.81% | -3.61 | 56.9 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Hao-Yu Lee Under 0.5 Hits | ProphetX | +155 | 43.45% | 38.50% | -0.72 | 77.8 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Gunnar Henderson Under 0.5 RBIs | ProphetX | -149 | 65.80% | 67.52% | +7.68 | 100.0 | strong | win | +0.671 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Gunnar Henderson Under 0.5 Home Runs | ProphetX | -342 | 83.85% | 85.22% | +7.84 | 100.0 | strong | win | +0.292 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Gunnar Henderson Under 0.5 Doubles | BetMGM | -450 | 83.37% | 81.52% | -0.30 | 9.5 | lean | win | +0.222 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Griffin Conine Over 0.5 Total Bases | ProphetX | +120 | 49.83% | 54.55% | +9.10 | 80.4 | strong | win | +1.200 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Griffin Conine Under 0.5 RBIs | ProphetX | -301 | 77.65% | 72.60% | -2.46 | 26.6 | lean | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Griffin Conine Under 0.5 Home Runs | ProphetX | -551 | 92.28% | 88.80% | +4.16 | 97.0 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Griffin Conine Under 0.5 Hits + Runs + RBIs | ProphetX | +129 | 46.36% | 45.27% | +1.60 | 49.4 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Griffin Conine Under 0.5 Doubles | BetMGM | -800 | 90.47% | 87.42% | -1.47 | 9.7 | lean | win | +0.125 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Gleyber Torres Under 1.5 Total Bases | ProphetX | -159 | 66.27% | 62.01% | +0.62 | 89.6 | strong | win | +0.629 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Gleyber Torres Under 0.5 RBIs | ProphetX | -204 | 71.79% | 69.29% | +2.18 | 86.1 | strong | win | +0.490 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Gleyber Torres Under 1.5 Hits + Runs + RBIs | ProphetX | +108 | 52.24% | 47.71% | -0.37 | 76.5 | strong | win | +1.080 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Geraldo Perdomo Under 1.5 Total Bases | ProphetX | -141 | 61.00% | 60.83% | +2.32 | 25.6 | lean | win | +0.709 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Geraldo Perdomo Under 0.5 RBIs | ProphetX | -214 | 71.79% | 72.21% | +4.06 | 37.4 | solid | win | +0.467 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Geraldo Perdomo Under 0.5 Home Runs | ProphetX | -673 | 93.56% | 93.56% | +6.50 | 100.0 | strong | win | +0.149 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | George Springer Over 0.5 Runs Scored | Novig | +127 | 45.53% | 41.11% | -2.94 | 27.2 | lean | loss | -1.000 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | George Springer Under 0.5 RBIs | ProphetX | -143 | 63.94% | 68.27% | +9.42 | 93.5 | strong | win | +0.699 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | George Springer Under 0.5 Home Runs | ProphetX | -454 | 88.95% | 87.13% | +5.18 | 97.0 | strong | win | +0.220 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | George Springer Over 1.5 Hits + Runs + RBIs | Novig | -108 | 53.37% | 52.09% | +0.17 | 26.6 | lean | loss | -1.000 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | George Kirby Over 18.5 Outs | Novig | +153 | 41.05% | 39.19% | -0.34 | 28.0 | lean | loss | -1.000 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Gabriel Rincones Jr. Under 0.5 RBIs | ProphetX | -265 | 73.75% | 76.24% | +3.64 | 11.8 | lean | win | +0.377 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Gabriel Rincones Jr. Under 0.5 Home Runs | ProphetX | -612 | 92.85% | 92.90% | +6.94 | 100.0 | strong | win | +0.163 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Gabriel Rincones Jr. Under 0.5 Hits | ProphetX | +129 | 45.34% | 47.64% | +3.97 | 17.2 | lean | win | +1.290 |
| Jul 27, 6:00 AM ET | Philadelphia Phillies @ Miami Marlins | Gabriel Rincones Jr. Under 0.5 Hits + Runs + RBIs | ProphetX | +171 | 39.85% | 42.68% | +5.78 | 54.2 | strong | win | +1.710 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Gabriel Moreno Under 0.5 RBIs | ProphetX | -180 | 67.46% | 68.27% | +3.98 | 32.6 | solid | win | +0.556 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Gabriel Moreno Under 0.5 Home Runs | ProphetX | -612 | 93.23% | 92.18% | +6.22 | 97.0 | strong | win | +0.163 |
| Jul 27, 6:00 AM ET | Atlanta Braves @ New York Mets | Francisco Lindor Under 0.5 RBIs | ProphetX | -204 | 69.95% | 72.71% | +5.60 | 29.3 | lean | loss | -1.000 |
| Jul 27, 6:00 AM ET | Atlanta Braves @ New York Mets | Francisco Lindor Under 0.5 Home Runs | ProphetX | -408 | 84.99% | 85.68% | +5.37 | 85.8 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Atlanta Braves @ New York Mets | Francisco Alvarez Under 0.5 RBIs | ProphetX | -186 | 67.04% | 71.47% | +6.44 | 36.8 | solid | win | +0.538 |
| Jul 27, 6:00 AM ET | Atlanta Braves @ New York Mets | Francisco Alvarez Under 0.5 Home Runs | ProphetX | -378 | 84.17% | 85.83% | +6.75 | 93.5 | strong | win | +0.265 |
| Jul 27, 6:00 AM ET | Atlanta Braves @ New York Mets | Francisco Alvarez Under 1.5 Hits + Runs + RBIs | ProphetX | +103 | 51.62% | 59.22% | +9.96 | 43.4 | solid | loss | -1.000 |
| Jul 27, 6:00 AM ET | Indiana Fever @ Seattle Storm | Flau'jae Johnson Under 1.5 3-Pointers | ProphetX | -122 | 59.77% | 61.47% | +6.52 | 88.5 | strong | win | +0.820 |
| Jul 27, 6:00 AM ET | Indiana Fever @ Seattle Storm | Flau'jae Johnson Over 8.5 Reb + Ast | ProphetX | +133 | 46.58% | 44.06% | +1.14 | 67.2 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Indiana Fever @ Seattle Storm | Flau'jae Johnson Over 14.5 Points | ProphetX | +131 | 45.65% | 50.54% | +7.25 | 43.3 | solid | win | +1.310 |
| Jul 27, 6:00 AM ET | Indiana Fever @ Seattle Storm | Flau'jae Johnson Over 22.5 Pts + Reb + Ast | ProphetX | +119 | 49.83% | 49.00% | +3.34 | 76.6 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | Ezequiel Duran Under 0.5 RBIs | ProphetX | -260 | 73.74% | 74.15% | +1.93 | 15.7 | lean | loss | -1.000 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | Ezequiel Duran Under 0.5 Home Runs | ProphetX | -612 | 93.01% | 93.31% | +7.35 | 97.0 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | Ezequiel Duran Under 1.5 Hits + Runs + RBIs | ProphetX | -102 | 53.57% | 52.60% | +2.10 | 56.5 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | Evan Carter Under 0.5 RBIs | ProphetX | -255 | 77.37% | 75.66% | +3.83 | 100.0 | strong | win | +0.392 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | Evan Carter Under 0.5 Home Runs | ProphetX | -541 | 92.00% | 92.06% | +7.66 | 97.0 | strong | win | +0.185 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | Evan Carter Under 0.5 Hits + Runs + RBIs | ProphetX | +153 | 43.38% | 40.00% | +0.47 | 70.8 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Eugenio Suarez Under 1.5 Total Bases | ProphetX | -133 | 61.71% | 58.33% | +1.25 | 85.0 | strong | win | +0.752 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Eugenio Suarez Under 0.5 RBIs | ProphetX | -153 | 65.09% | 62.42% | +1.95 | 84.8 | strong | win | +0.654 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Eugenio Suarez Under 0.5 Home Runs | ProphetX | -347 | 83.62% | 79.93% | +2.30 | 100.0 | strong | win | +0.288 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Eugenio Suarez Under 1.5 Hits + Runs + RBIs | ProphetX | +102 | 50.78% | 48.77% | -0.73 | 13.1 | lean | win | +1.020 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Esmerlyn Valdez Under 1.5 Total Bases | ProphetX | -120 | 60.39% | 61.25% | +6.70 | 100.0 | strong | win | +0.833 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Esmerlyn Valdez Under 0.5 RBIs | ProphetX | -149 | 65.30% | 64.44% | +4.60 | 100.0 | strong | win | +0.671 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Esmerlyn Valdez Under 0.5 Home Runs | ProphetX | -357 | 84.38% | 81.10% | +2.98 | 100.0 | strong | win | +0.280 |
| Jul 27, 6:00 AM ET | Arizona Diamondbacks @ Pittsburgh Pirates | Esmerlyn Valdez Under 0.5 Hits | ProphetX | +184 | 37.86% | 36.06% | +0.85 | 48.7 | strong | win | +1.840 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | Ernie Clement Over 0.5 Runs Scored | FanDuel | +110 | 48.88% | 43.03% | -4.59 | 7.7 | lean | loss | -1.000 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | Ernie Clement Under 0.5 RBIs | ProphetX | -153 | 67.01% | 70.71% | +10.24 | 100.0 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | Ernie Clement Under 0.5 Home Runs | ProphetX | -612 | 92.33% | 91.94% | +5.98 | 100.0 | strong | win | +0.163 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | Ernie Clement Under 1.5 Hits | ProphetX | -149 | 62.37% | 67.43% | +7.59 | 46.5 | strong | win | +0.671 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Elly De La Cruz Under 1.5 Total Bases | ProphetX | +105 | 50.80% | 52.14% | +3.36 | 20.8 | lean | win | +1.050 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Elly De La Cruz Under 0.5 RBIs | ProphetX | -145 | 62.90% | 63.22% | +4.04 | 68.3 | strong | win | +0.690 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Elly De La Cruz Under 0.5 Home Runs | ProphetX | -291 | 80.57% | 79.77% | +5.35 | 100.0 | strong | win | +0.344 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Elly De La Cruz Under 1.5 Hits | ProphetX | -194 | 68.27% | 70.20% | +4.21 | 42.0 | solid | win | +0.515 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | Elias Diaz Under 0.5 RBIs | ProphetX | -306 | 77.77% | 79.36% | +3.99 | 24.7 | lean | win | +0.327 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | Elias Diaz Under 0.5 Home Runs | ProphetX | -622 | 93.99% | 94.82% | +8.67 | 97.0 | strong | win | +0.161 |
| Jul 27, 6:00 AM ET | Seattle Mariners @ Texas Rangers | Elias Diaz Under 0.5 Hits + Runs + RBIs | ProphetX | +149 | 43.03% | 44.02% | +3.86 | 52.8 | strong | loss | -1.000 |
| Jul 27, 6:00 AM ET | Atlanta Braves @ New York Mets | Eli White Over 0.5 Total Bases | Pinnacle | -105 | 53.62% | 52.76% | +1.54 | 44.1 | solid | loss | -1.000 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Edwin Arroyo Under 0.5 RBIs | ProphetX | -230 | 73.88% | 73.63% | +3.93 | 76.9 | strong | win | +0.435 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Edwin Arroyo Under 0.5 Home Runs | ProphetX | -633 | 93.34% | 92.12% | +5.76 | 100.0 | strong | win | +0.158 |
| Jul 27, 6:00 AM ET | Cleveland Guardians @ Cincinnati Reds | Edwin Arroyo Under 1.5 Hits + Runs + RBIs | ProphetX | -115 | 55.52% | 56.56% | +3.07 | 37.3 | solid | win | +0.870 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | Dylan Crews Under 0.5 RBIs | ProphetX | -186 | 66.61% | 66.61% | +1.58 | 16.2 | lean | win | +0.538 |
| Jul 27, 6:00 AM ET | Toronto Blue Jays @ Washington Nationals | Dylan Crews Under 0.5 Home Runs | ProphetX | -520 | 87.06% | 86.33% | +2.46 | 58.6 | strong | win | +0.192 |
| Jul 27, 6:00 AM ET | Baltimore Orioles @ Detroit Tigers | Dylan Beavers Under 0.5 RBIs | ProphetX | -276 | 75.14% | 73.57% | +0.17 | 17.8 | lean | loss | -1.000 |
What Would Make This A v2
Only a structural change: a new league, a new data source, or a change in an exchange's fee model. Performance can never trigger a new version. A bad stretch does not get to become a retune, and the v1.0 record stays published permanently either way. The record accrues toward 90 days from the seal and at least 5000 graded plays in the flagged tiers, whichever comes later, across every player prop league active in that window.
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.