OPEN LEDGER SPORTSEvery pick on the record. Every rule in public.
Ledger: 0–0 · +0.00u · opened Jul 22, 2026 · today: 4 plays, 2.5u exposure
★ Free Pick of the Day Wednesday, July 22, 2026

St. Louis Cardinals @ Los Angeles Angels

Every day, one pick free and in full: complete analysis, unit sizing, market edge, and every circuit-breaker check. By design it's a mid-board play, not the headliner: the top-confidence plays live on Today's Board. Same engine, same 10,000 simulations, measured against real market prices, committed to the public record before first pitch and graded on the ledger after.

St. Louis Cardinals @ Los Angeles Angels

4:07 PM ET · Angel Stadium · park factor 1.00

✓ ALL BREAKERS CLEAR
Michael McGreevy 2.92 ERA · 1.10 WHIP · 108 IP vs Reid Detmers 4.16 ERA · 1.12 WHIP · 114.2 IP
STL 61.1% LAA 38.9%
Projected5–3.8
Model fair-157 / +157
Market line-112 consensus
Edge vs price+8.3 pts
EV per 1u+15.7%
Sim total8.8 (38% over 9)
Simulations10,000
🗓️ DateWednesday, July 22, 2026
⚾ LeagueMLB
GameSt. Louis Cardinals vs. Los Angeles Angels
PlaySt. Louis Cardinals ML (-112)
Confidence61.1%
Edge+8.3 pts vs the -112 consensus price
Risk level🔴 High Risk (Longshot)
Suggested bet1 unit (1% bankroll), quarter-Kelly suggests 4.4% of bankroll; the tier cap governs it down to 1u

Analysis

The mound tilts this game. Michael McGreevy brings a 2.92 ERA and 1.10 WHIP over 108 innings against Reid Detmers at 4.16 (1.12 WHIP). A 1.2-run ERA gap, weighted over the ~5.5 innings a starter covers, moves real win probability before anyone swings. Baserunners are kindling: the 1.10-vs-1.12 WHIP spread decides whose innings stay quiet.

The clubs, the park, the count. St. Louis Cardinals (42-34) score 4.63 and allow 4.57 runs a game; Los Angeles Angels (32-48) score 4.53 and allow 5.04. In a neutral park (factor 1.00), 10,000 simulations land on a 5–3.8 average score, with St. Louis Cardinals winning 61.1% of them, a fair price of -157.

The market price is the point. The consensus line is -112 against our -157 fair, a +8.3-point edge and +15.7% EV per unit at the listed price. Rule 8 checked the disagreement with the de-vigged market: 9.6 points, inside the 12-point cap: a disagreement, not a delusion. Quarter-Kelly would size this at 4.4% of bankroll; the tier framework governs it to 1u. The governor beats the gas pedal.

Breaker sheet: Every automated breaker passed at full size. The full check log is printed below, including the passes.

Bottom line: St. Louis Cardinals at -112 carries a 8.3-point model edge at 1u. If the line steams past our -157 fair before first pitch, the edge is gone; pass without regret. Passing is a position too.

Circuit-breaker log: every check, including the ones that passed
  • Rule 2 check passed: market line -112 within juice caps (road -180, home -220).
  • Rule 8 check passed: model 61.1% vs de-vigged market 51.5%: 9.6-point divergence within the 12-point cap.
  • Rule 4 check passed: both starters carry full-season workloads.
  • Rules 3/5/6 (velocity/spin telemetry, road wOBA suppression): manual review required: Statcast feed not wired in v0.1.

The rest of today's board

3 more plays and 4 scratches on today's board. Leans and scratches publish in full; the held plays post with their breaker logs once graded.

PIT @ NYY67% · edge +6.7 · 0.5u
NYM @ MIL66% · edge +8.1 · 0.5u
BAL @ BOS62% · edge +4.8 · 0.5u

Curious how the pick was made? Read the methodology. The whole tank is behind glass.

MLB Board: Wednesday, July 22, 2026

Every game on today's slate simulated 10,000 times, priced against real market lines, then passed through eight risk circuit breakers. What survives gets an allocation. What doesn't, we tell you why.

15 games on slate
11 simulated (10,000× each)
4 scratched (Rule 7)
2 held by Rule 8
4 plays published
2.5u exposure (cap 10u)

Published plays: 2.5u total exposure

The free pick is shown in full. The rest are held until they are graded. Then every one of them, winners and losers alike, publishes on the ledger with its full breaker log.

Pittsburgh Pirates @ New York Yankees

1:35 PM ET · Yankee Stadium

🔒 HELD
Playheld until graded
Risk🔴 Longshot
Breaker checks4 run

Side, price, and sizing are held before first pitch. The pick is timestamped in the public repository ahead of the game and publishes in full, with its complete breaker log, on the ledger once graded. We hold the position, never the result.

New York Mets @ Milwaukee Brewers

2:10 PM ET · American Family Field

🔒 HELD
Playheld until graded
Risk🔴 Longshot
Breaker checks4 run

Side, price, and sizing are held before first pitch. The pick is timestamped in the public repository ahead of the game and publishes in full, with its complete breaker log, on the ledger once graded. We hold the position, never the result.

Baltimore Orioles @ Boston Red Sox

7:10 PM ET · Fenway Park

🔒 HELD
Playheld until graded
Risk🔴 Longshot
Breaker checks4 run

Side, price, and sizing are held before first pitch. The pick is timestamped in the public repository ahead of the game and publishes in full, with its complete breaker log, on the ledger once graded. We hold the position, never the result.

St. Louis Cardinals @ Los Angeles Angels

4:07 PM ET · Angel Stadium · park factor 1.00

★ FREE PICK
Michael McGreevy 2.92 ERA · 108 IP vs Reid Detmers 4.16 ERA · 114.2 IP
STL 61.1% LAA 38.9%
Projected5–3.8
Model fair-157 / +157
Market line-112 consensus
Edge vs price+8.3 pts
EV per 1u+15.7%
Sim total8.8 (38% over 9)
PlaySt. Louis Cardinals ML (-112)
Confidence61.1%
Risk🔴 Longshot
Suggested1u (1% bankroll)
Circuit-breaker log (4 checks)
  • Rule 2 check passed: market line -112 within juice caps (road -180, home -220).
  • Rule 8 check passed: model 61.1% vs de-vigged market 51.5%: 9.6-point divergence within the 12-point cap.
  • Rule 4 check passed: both starters carry full-season workloads.
  • Rules 3/5/6 (velocity/spin telemetry, road wOBA suppression): manual review required: Statcast feed not wired in v0.1.

Model leans: no allocation, logged for transparency

2 held by the Rule 8 Divergence Governor, 3 benched by the edge gate, and the rest below the confidence floor.

Los Angeles Dodgers @ Philadelphia Phillies

6:40 PM ET · Citizens Bank Park · park factor 1.01

R8 DIVERGENCE
Justin Wrobleski 2.62 ERA · 106.1 IP vs Aaron Nola 5.68 ERA · 103 IP
LAD 76.7% PHI 23.3%
Projected5.9–2.6
Model fair-330 / +330
Market line+120 consensus
Edge vs price+31.3 pts
EV per 1u+68.8%
Sim total8.5 (43% over 8.5)
PlayLos Angeles Dodgers ML (+120)
Confidence76.7%
Risk⚪ Pass
Suggested0u, held by Rule 8
Circuit-breaker log (4 checks)
  • Rule 2 check passed: market line +120 within juice caps (road -180, home -220).
  • Rule 8 fired: model sees 76.7%, de-vigged market says 44.3%: a 32.4-point divergence (cap 12). When the model and the market disagree this hard, the market usually knows something our inputs do not (lineups, injury news, form). Demoted to lean pending manual review.
  • Rule 4 check passed: both starters carry full-season workloads.
  • Rules 3/5/6 (velocity/spin telemetry, road wOBA suppression): manual review required: Statcast feed not wired in v0.1.

Cincinnati Reds @ Seattle Mariners

3:40 PM ET · T-Mobile Park · park factor 0.92

R8 DIVERGENCE
Brady Singer 4.56 ERA · 96.2 IP vs Emerson Hancock 3.17 ERA · 99.1 IP
CIN 35.7% SEA 64.3%
Projected2.9–4.3
Model fair+180 / -180
Market line-112 consensus
Edge vs price+11.5 pts
EV per 1u+21.7%
Sim total7.2 (40% over 7.5)
PlaySeattle Mariners ML (-112)
Confidence64.3%
Risk⚪ Pass
Suggested0u, held by Rule 8
Circuit-breaker log (4 checks)
  • Rule 2 check passed: market line -112 within juice caps (road -180, home -220).
  • Rule 8 fired: model sees 64.3%, de-vigged market says 51.6%: a 12.7-point divergence (cap 12). When the model and the market disagree this hard, the market usually knows something our inputs do not (lineups, injury news, form). Demoted to lean pending manual review.
  • Rule 4 check passed: both starters carry full-season workloads.
  • Rules 3/5/6 (velocity/spin telemetry, road wOBA suppression): manual review required: Statcast feed not wired in v0.1.

Detroit Tigers @ Chicago Cubs

8:10 PM ET · Wrigley Field · park factor 1.02

Keider Montero 3.22 ERA · 100.2 IP vs Colin Rea 4.74 ERA · 100.2 IP
DET 54.5% CHC 45.5%
Projected4.4–3.9
Model fair-120 / +120
Market line+105 consensus
Edge vs price+5.7 pts
EV per 1u+11.7%
Sim total8.2 (42% over 8.5)
PlayDetroit Tigers ML (+105)
Confidence54.5%
Risk⚪ Pass
Suggested0u, logged as lean only
Circuit-breaker log (4 checks)
  • Rule 2 check passed: market line +105 within juice caps (road -180, home -220).
  • Rule 8 check passed: model 54.5% vs de-vigged market 47.6%: 6.9-point divergence within the 12-point cap.
  • Rule 4 check passed: both starters carry full-season workloads.
  • Rules 3/5/6 (velocity/spin telemetry, road wOBA suppression): manual review required: Statcast feed not wired in v0.1.

Athletics @ Arizona Diamondbacks

3:40 PM ET · Chase Field · park factor 1.05

R4 FLAG
Gage Jump 3.78 ERA · 52.1 IP vs Merrill Kelly 5.20 ERA · 98.2 IP
ATH 53.9% AZ 46.1%
Projected5.6–5.1
Model fair-117 / +117
Market line+123 consensus
Edge vs price+9.1 pts
EV per 1u+20.2%
Sim total10.7 (52% over 9.5)
PlayAthletics ML (+123)
Confidence53.9%
Risk⚪ Pass
Suggested0u, logged as lean only
Circuit-breaker log (4 checks)
  • Rule 2 check passed: market line +123 within juice caps (road -180, home -220).
  • Rule 8 check passed: model 53.9% vs de-vigged market 43.7%: 10.2-point divergence within the 12-point cap.
  • Rule 4 flag: Gage Jump under 60 IP this deep in the season (limited workload / possible IL return). Volume freeze: confidence downgraded one tier.
  • Rules 3/5/6 (velocity/spin telemetry, road wOBA suppression): manual review required: Statcast feed not wired in v0.1.

Miami Marlins @ Houston Astros

8:10 PM ET · Daikin Park · park factor 0.97

Sandy Alcantara 3.89 ERA · 136.2 IP vs Peter Lambert 3.03 ERA · 92 IP
MIA 47.8% HOU 52.2%
Projected3.9–4.1
Model fair+109 / -109
Market line-130 consensus
Edge vs price-4.3 pts
EV per 1u-7.7%
Sim total7.9 (31% over 9)
PlayHouston Astros ML (-130)
Confidence52.2%
Risk⚪ Pass
Suggested0u, no edge at market price
Circuit-breaker log (5 checks)
  • Rule 2 check passed: market line -130 within juice caps (road -180, home -220).
  • Rule 8 check passed: model 52.2% vs de-vigged market 55.2%: 3.0-point divergence within the 12-point cap.
  • Edge gate: model edge vs offered price is -4.3 pts (minimum 2). No allocation; a good side at a bad price is a bad bet.
  • Rule 4 check passed: both starters carry full-season workloads.
  • Rules 3/5/6 (velocity/spin telemetry, road wOBA suppression): manual review required: Statcast feed not wired in v0.1.

San Francisco Giants @ Kansas City Royals

2:10 PM ET · Kauffman Stadium · park factor 1.03

Landen Roupp 3.98 ERA · 104 IP vs Seth Lugo 4.39 ERA · 110.2 IP
SF 50.4% KC 49.6%
Projected4.6–4.6
Model fair-102 / +102
Market line-103 consensus
Edge vs price-0.3 pts
EV per 1u-0.6%
Sim total9.1 (40% over 9.5)
PlaySan Francisco Giants ML (-103)
Confidence50.4%
Risk⚪ Pass
Suggested0u, no edge at market price
Circuit-breaker log (5 checks)
  • Rule 2 check passed: market line -103 within juice caps (road -180, home -220).
  • Rule 8 check passed: model 50.4% vs de-vigged market 49.5%: 0.9-point divergence within the 12-point cap.
  • Edge gate: model edge vs offered price is -0.3 pts (minimum 2). No allocation; a good side at a bad price is a bad bet.
  • Rule 4 check passed: both starters carry full-season workloads.
  • Rules 3/5/6 (velocity/spin telemetry, road wOBA suppression): manual review required: Statcast feed not wired in v0.1.

Minnesota Twins @ Cleveland Guardians

6:40 PM ET · Progressive Field · park factor 0.97

Bailey Ober 4.32 ERA · 77 IP vs Slade Cecconi 4.55 ERA · 99 IP
MIN 49.6% CLE 50.4%
Projected4.5–4.5
Model fair+102 / -102
Market line-141 consensus
Edge vs price-8.1 pts
EV per 1u-13.8%
Sim total8.9 (48% over 8)
PlayCleveland Guardians ML (-141)
Confidence50.4%
Risk⚪ Pass
Suggested0u, no edge at market price
Circuit-breaker log (5 checks)
  • Rule 2 check passed: market line -141 within juice caps (road -180, home -220).
  • Rule 8 check passed: model 50.4% vs de-vigged market 57.0%: 6.6-point divergence within the 12-point cap.
  • Edge gate: model edge vs offered price is -8.1 pts (minimum 2). No allocation; a good side at a bad price is a bad bet.
  • Rule 4 check passed: both starters carry full-season workloads.
  • Rules 3/5/6 (velocity/spin telemetry, road wOBA suppression): manual review required: Statcast feed not wired in v0.1.

Scratched by circuit breaker

Washington Nationals @ Colorado Rockies

3:10 PM ET · Coors Field

⛔ SCRATCH

Rule 7: Late-Line Circuit Breaker. Starter TBD for COL inside the pre-game window. Automatic scratch, no position.

Tampa Bay Rays @ Toronto Blue Jays

7:07 PM ET · Rogers Centre

⛔ SCRATCH

Rule 7: Late-Line Circuit Breaker. Starter TBD for TOR inside the pre-game window. Automatic scratch, no position.

San Diego Padres @ Atlanta Braves

7:15 PM ET · Truist Park

⛔ SCRATCH

Rule 7: Late-Line Circuit Breaker. Starter TBD for ATL inside the pre-game window. Automatic scratch, no position.

Chicago White Sox @ Texas Rangers

8:05 PM ET · Globe Life Field

⛔ SCRATCH

Rule 7: Late-Line Circuit Breaker. Starter TBD for CWS, TEX inside the pre-game window. Automatic scratch, no position.

The public ledger

The ledger opened July 22, 2026 at 0–0. No backfilled hot streaks, no screenshots, no deleted losses. Every pick is timestamped and logged before first pitch with the market line and unit size, graded automatically against final scores overnight, and never edited. Judge us on the full column, not the highlight reel.
Record0–0graded picks
Units+0.00net P&L
ROIn/aneeds graded picks
Pending42.5u at risk today
DateGamePickEdgeUnitsP&LResult
2026-07-22PIT @ NYYNew York Yankees ML (-149) +6.7 0.5u n/a ● Pending
2026-07-22NYM @ MILMilwaukee Brewers ML (-140) +8.1 0.5u n/a ● Pending
2026-07-22BAL @ BOSBoston Red Sox ML (-136) +4.8 0.5u n/a ● Pending
2026-07-22STL @ LAASt. Louis Cardinals ML (-112) +8.3 1u n/a ● Pending

Showing today's pending picks and the last 25 graded. A meaningful sample is 500–1,000 picks; anything we say about ROI before then is weather, not climate.

How the engine works

Think of the engine as a flight simulator for tonight's games. Instead of predicting one outcome, it plays each game 10,000 times and counts what happens. A team that wins 6,110 of 10,000 simulations is a 61.1% team, and the fair line falls straight out of the count. No gut feelings, no vibes; arithmetic.

What each simulation knows

  • Team run rates: runs scored and allowed per game for both clubs, live from the MLB Stats API, normalized to the league average.
  • Starting pitchers: each starter's ERA vs league, weighted over the ~5.5 innings starters actually cover; the bullpen inherits the team's overall run prevention.
  • Park factors: Coors Field is a hot-air balloon (1.24); T-Mobile Park is a walk-in freezer (0.92). Static season approximations, refreshed manually.
  • Home-field advantage: an evidence-sized bump (~54% for an even matchup), not the folk-wisdom 60%.
  • Fat-tailed scoring: runs come in bunches, so scores are drawn from a negative binomial distribution that allows crooked innings and blowouts, not a tidy bell curve.

The market is on the card

A probability alone isn't a bet; a bet is a probability versus a price. Each game carries the market line and three numbers computed from it: Edge (our win probability minus the probability implied by the offered price), EV per unit, and a quarter-Kelly stake suggestion, always capped by the risk-tier framework. The governor beats the gas pedal. Two hard gates follow: the edge gate (no allocation under a 2-point edge; a good side at a bad price is a bad bet) and Rule 8, the Divergence Governor: when our model and the de-vigged market disagree by more than 12 points, we assume the market knows something our inputs don't (lineups, injury news, form), and the play is held for manual review instead of bet harder. A model that never doubts itself is a tout with extra steps.

Then the circuit breakers get a veto

The model proposes; eight risk rules dispose. Games with TBD starters are scratched, limited-workload starters trigger downgrades, capped juice forces run-line pivots, and every check, passed or failed, is printed on every card. That's the product.

What this engine does not do: read this before betting

  • Market lines are a snapshot, not a live tick-by-tick feed. Lines move, and the price at your book may differ. Confirm the number before you bet it.
  • Telemetry rules are manual. Statcast velocity/spin trends and rolling road wOBA (Rules 3, 5, 6) aren't automated yet; they're flagged for human review, never silently claimed.
  • Not modeled: lineups, rest, umpires, weather. Park factors are static season approximations.
Why publish our limitations next to our picks? Because a pick site that hides its wiring is asking you to bet on a magic trick. Ours is an aquarium; the whole tank is behind glass, down to the per-date random seed (20260722) that makes every day's board reproducible.

The eight circuit breakers

Bankroll rules work like the breaker panel in your house: any single circuit can fail without burning the place down. These run on every pick, every day.

Rule 2: High-Juice Favorite Cap Automated · market lines

No straight moneylines on road favorites at −180 or heavier, or home favorites past −220, evaluated against the actual market price. The play pivots to the −1.5 run line or passes. Laying heavy juice is renting a favorite at luxury prices: the wins are small and the losses are structural.

Rule 4: Injury Return Protocol Automated (heuristic)

Mandatory volume freeze on pitchers fresh off the IL or on restricted workloads. Heuristic: a starter far under the expected innings load this deep in the season triggers the freeze and a one-tier confidence downgrade.

Rule 5: Trailing Telemetry Deviation Penalty Manual review

Sharp velocity, spin, or efficiency drops over a starter's trailing three outings trigger a downgrade or fade. Requires a Statcast feed, so it is flagged for human review for now.

Rule 6: Road wOBA Suppression Multiplier Manual review

A 12% projected-scoring tax on visitors whose rolling 3-game road wOBA trails league baseline by .035+. Requires rolling splits, so it is manual for now.

Rule 7: Late-Line Circuit Breaker Automated

Any game with a TBD starter inside the pre-game window is scratched automatically. No named starter, no position: you don't board a flight with an unnamed pilot.

Rule 8: Divergence Governor Automated

If the model's win probability and the de-vigged market disagree by more than 12 points, the play is held for manual review, with no allocation, no matter how juicy the "edge" looks. A huge gap isn't a gift; it's a warning that the market has priced in something our inputs haven't seen. The best defense against a model's blind spots is respecting the one opponent that never sleeps.

Rookie Ambush Overhaul & Two-Out NRFI Override Dormant

NRFI/early-under governors (rookie launch-angle variance; #2–3 slot ISO vs high-ride fastballs). Open Ledger doesn't publish NRFI positions yet, so these breakers are dormant until that market ships.

Edge Gate & Bankroll Governor Automated

No allocation under a 2-point edge versus the offered price. Sizing is the lesser of the confidence tier (3u / 2u / 1u) and a quarter-Kelly stake, with one-tier downgrades on flags and a hard daily ceiling of 10% of bankroll across all published plays.