🎯 Top plays — both books agree · money outpacing tickets on the same side at Action + Circa
TOTAL
Over 9
Blue Jays @ Astros
AN 57% +30Circa 96% +46
10,481 bets conv 56
SPREAD
Rays -1.5
Rays @ Rockies
AN 86% +25Circa 99% +32
9,542 bets conv 83
MLML+RL
Nationals ML +127
Nationals @ Phillies
AN 20% +6Circa 96% +46
10,597 bets conv 47
MLML+RL
D-backs ML -118
Padres @ D-backs
AN 58% +6Circa 95% +42
10,279 bets conv 53
Reality check from our own data: the loudest agreement/divergence plays tend to be already priced in — the line doesn’t keep moving toward them. Treat these as consensus, not edge, until closing-line value + results confirm them.
⚠️ Signal conflicts · money vs line movement disagree — surfaced, not auto-resolved
Matchup
Market
Money says (splits)
Line movement says (RLM)
Move
Reliability
Giants @ Rangers
SPREAD
Rangers 56% mon
Giants
-200→+170
observed live
Money and line movement disagree on these games — the public/money is on one side while the price moved toward the other. We're not auto-picking a winner yet: which signal to trust is an educated guess until the ledger has enough graded games. pre-capture · unverified means the move only shows up open→now (book-30) and was flat the whole time we watched — likely a stale opener, treat with extra caution.
🧮 Feedback scorecard · captured signals vs actual results — accumulates every completed game to calibrate itself
ML money-fav wins
57%(32/56)
money-favored side won outright
CLV+ · line came our way
68%(38/56)
price shortened toward our side by close
Lay the favorite −1.5
43%(24/56)
favorite won by 2+ runs
Total lean
38%(21/55)
money-favored over/under hit
RLM · fade the public
57%(21/37)
sharp (reverse-line) side won/covered
Movement-conviction band
ML win rate
CLV+ rate
steam
67%(4/6)
100%(6/6)
firm
62%(8/13)
77%(10/13)
build
58%(7/12)
75%(9/12)
flat
52%(13/25)
52%(13/25)
RLM sharp side — by bet type
Win rate
$100 bettor
All RLM
57%(21/37)
+$92
Moneyline
55%(6/11)
+$132
Total · Over
50%(1/2)
−$3
Total · Under
50%(5/10)
−$41
Run line −1.5 (lay fav)
0%(0/1)
−$100
Run line +1.5 (take dog)
69%(9/13)
+$104
3 game(s) excluded from every stat below — closing-line capture was compromised (rollback capture gap), so they'd only add noise: DET@ATH, SF@SD, MIN@SEA.
Sample is tiny (56 games) — do not draw conclusions yet. This ledger accumulates every completed game so the bands calibrate themselves over time. The early pattern worth watching: ML money-fav win% runs low while CLV+ runs high — our reads track the market's closing move even when single-game W/L scatters, which is why CLV is the more trustworthy signal until the win-rate sample grows.
🔄 Reverse line movement · public on one side, line moved the other way
Book
Matchup
Market
Public side (tickets)
Line move vs public
Money gap
Sharp side
Circa
Nationals @ Phillies
ML
Phillies 86%
-158→-145 sustained
-6
Nationals
Action
Giants @ Rangers
SPREAD
Rangers 70%
-200→+170 sustained
-18
Giants
Action
Padres @ D-backs
TOTAL
Under 64%
8.5→9 sustained
-24
Over
Action
Padres @ D-backs
SPREAD
Padres 68%
+140→+160 sustained
-34
D-backs
⭐ Strongest signals · Action + Circa, ranked
Tier
Matchup
Pick
AN mon% (div)
Circa mon% (div)
Why
PREMIUM
Nationals @ Phillies
Over 9
65 (+27)
97 (+14)
Circa money +14 — sharp book agrees; Circa 97% of handle here; money 65% vs public tickets 38%; high volume
STRONG
Nationals @ Phillies
Nationals ML +127
20 (+6)
96 (+46)
Circa money +46 — sharp book strongly agrees; Circa 96% of handle here; high volume
STRONG
Cardinals @ Yankees
Over 7.5
59 (+23)
1 (-43)
money 59% vs public tickets 36%; high volume
STRONG
Pirates @ Brewers
Over 8.5
71 (+31)
91 (+1)
money 71% vs public tickets 40%; high volume
STRONG
Dodgers @ Cubs
Over 8
57 (+20)
10 (-33)
money 57% vs public tickets 37%; high volume
STRONG
Dodgers @ Cubs
Dodgers ML -125
94 (+19)
17 (-38)
high volume
STRONG
Giants @ Rangers
Over 8
59 (+27)
()
money 59% vs public tickets 32%; high volume
STRONG
Giants @ Rangers
Giants 1.5
48 (+18)
()
high volume
STRONG
Giants @ Rangers
Giants ML +105
44 (+5)
68 (+18)
Circa money +18 — sharp book agrees; high volume
PREMIUM
Blue Jays @ Astros
Over 9
57 (+30)
96 (+46)
Circa money +46 — sharp book strongly agrees; Circa 96% of handle here; money 57% vs public tickets 27%; high volume
PREMIUM
Rays @ Rockies
Rays -1.5
86 (+25)
99 (+32)
Circa money +32 — sharp book strongly agrees; Circa 99% of handle here; high volume
PREMIUM
Rays @ Rockies
Rays ML -183
92 (+12)
68 (+12)
Circa money +12 — sharp book agrees; high volume
💰 Moneyline · both books side by side
Matchup
First pitch
Money-favored pick
ML+RL
Agree
AN bet%
AN mon%
AN diff
AN move
Circa bet%
Circa mon%
Circa diff
Circa move
Move agree
Nationals @ Phillies
6:40 PM
Phillies ML -155
✓
86
80
-6
–
50
4
-46
–
Cardinals @ Yankees
7:05 PM
Yankees ML -220
✓
✓
89
91
+2
35▸❄
73
95
+22
58▸
Pirates @ Brewers
7:40 PM
Brewers ML -150
✓
76
72
-4
–
77
69
-8
–
Dodgers @ Cubs
8:05 PM
Dodgers ML -125
75
94
+19
51❄
55
17
-38
–
Giants @ Rangers
8:05 PM
Rangers ML -125
✓
61
56
-5
–
50
32
-18
–
Blue Jays @ Astros
8:10 PM
Astros ML -135
✓
81
80
-1
–
83
41
-42
–
Rays @ Rockies
8:40 PM
Rays ML -183
✓
✓
80
92
+12
47▸❄
56
68
+12
23▸
Padres @ D-backs
9:40 PM
D-backs ML -118
✓
✓
52
58
+6
53▸❄
53
95
+42
54
✓
📐 Run line · both books side by side
Matchup
First pitch
Money-favored pick
ML+RL
Agree
AN bet%
AN mon%
AN diff
AN move
Circa bet%
Circa mon%
Circa diff
Circa move
Move agree
Nationals @ Phillies
6:40 PM
Phillies -1.5
✓
82
66
-16
–
–
–
Cardinals @ Yankees
7:05 PM
Yankees -1.5
✓
86
88
+2
33▸❄
67
49
-18
–
Pirates @ Brewers
7:40 PM
Brewers -1.5
✓
75
73
-2
–
50
74
+24
40*
Dodgers @ Cubs
8:05 PM
Cubs 1.5
51
53
+2
26❄
–
–
Giants @ Rangers
8:05 PM
Rangers -1.5
✓
70
52
-18
–
–
–
Blue Jays @ Astros
8:10 PM
Astros -1.5
✓
77
80
+3
32❄
–
–
Rays @ Rockies
8:40 PM
Rays -1.5
✓
✓
61
86
+25
83▸❄
67
99
+32
66
✓
Padres @ D-backs
9:40 PM
D-backs 1.5
✓
32
66
+34
66▸❄
–
–
📊 Totals · both books side by side
Matchup
First pitch
Money-favored pick
Agree
AN bet%
AN mon%
AN diff
AN move
Circa bet%
Circa mon%
Circa diff
Circa move
Move agree
Nationals @ Phillies
6:40 PM
Over 9
✓
38
65
+27
84▸❄
83
97
+14
24*
Cardinals @ Yankees
7:05 PM
Over 7.5
36
59
+23
52▸❄
44
1
-43
–
Pirates @ Brewers
7:40 PM
Over 8.5
✓
40
71
+31
53❄
90
91
+1
9
Dodgers @ Cubs
8:05 PM
Over 8
37
57
+20
70▸❄
43
10
-33
–
Giants @ Rangers
8:05 PM
Over 8
32
59
+27
50❄
–
–
Blue Jays @ Astros
8:10 PM
Over 9
✓
27
57
+30
56❄
50
96
+46
46
✓
Rays @ Rockies
8:40 PM
Under 11.5
66
59
-7
–
44
78
+34
70
Padres @ D-backs
9:40 PM
Over 9
36
60
+24
49▸❄
57
33
-24
–
diff = money% − bets% right now (snapshot sharp tell)move = 0–100 movement conviction from the whole path (magnitude + how long it held + building/fading + line confirm − round-trip)sparkline = money%−bets% over all snapshots (the shape)▸ = line moved toward this side (confirm), ▸ = line drifting away✓ Agree = both books' diffs same way now✓ Move agree = both books firm+ conviction (≥45)RL✓ = ML & run-line money on same team
The move score ranks movement quality, not win probability — bands: 25–44 building, 45–64 firm, 65+ steam. It stays uncalibrated until the results + closing-line-value grading runs after tonight's games.
Anti-stale: Action only refreshes splits about every ~45 min, so a 15-min capture repeats each value ~3×. Move is computed on distinct updates, not raw snapshots — a frozen or started/delayed game collapses to one point and can't fake conviction (* = only 1–2 real updates; ❄ = splits frozen recently). Game state, first pitch, delays, and live scores come from MLB's own feed (statsapi), not from the sportsbook clock.
AN = Action Network consensus (% bets = tickets, % money = handle). Circa = sharp book's tickets vs handle via VSiN. Circa runs low volume — its 50/50 and 100/0 reads are often noise, most useful when it agrees with Action. Now also capturing Action opening lines (book 30) and first-pitch times to build closing-line value once games finish. Sharp-money indicators, not guarantees; you place any wagers yourself.