Skip to content
SplitWinner

ML sports predictions with receipts.Every pick hashed and anchored before kickoff.

Publicly verifiable — you never have to trust us.

Institutional-grade models, a public immutable ledger, Bitcoin-anchored timestamps. Skips disclosed, not hidden. Built for sportsbooks — one git clone stands between any claim on this page and your own verification.

Live

Alpha picks530
Backtest17,043
LedgerPublic

§ 01The thesis

Losers get deleted. Winners get backdated. We refused that.

In this category, faked records are the norm — losers quietly deleted, winners backdated, every claim a sales pitch. We refused. Every live prediction is cryptographically committed the moment it's made, anchored where we can't reach it, and publicly verifiable by anyone — without trusting us.

  1. 01

    Ingest

    Sports data pulled daily from canonical sources.

  2. 02

    Train

    Per-sport models, trained with cross-validation, registered with held-out metrics.

  3. 03

    Predict

    Calibrated probabilities, conformal sets, computed once per day.

  4. 04

    Anchor

    Each day's predictions committed to the public ledger before kickoff. Daily proof, upgraded to a Bitcoin attestation.

  5. 05

    Serve

    Through a signed, versioned API into the mobile app; and into the public GitHub mirror anyone can run verify.py against.

No marketing. Just the receipts.

§ 02The public alpha

Five weeks live, in public. Sealed.

From May 19 to June 25, 2026, the system ran its public alpha — every pick hashed into an immutable ledger and anchored before kickoff, skips disclosed, nothing deleted. The alpha existed to answer one question: does the backtest survive live games? The record is sealed, archived, and independently verifiable. Compare the columns yourself.

Sealed alpha · anchored · May 20 – Jun 25

Picks anchored
530
Anchored picks settled
70
Win rate
57.1%
Brier
0.2424

Every figure on this card is computed only over picks in the sealed public ledger — recomputable by anyone from the repo and contract data. The sealed alpha record

Backtest · historical

Predictions
17,043
Conformal picks
5,167
Win rate
69.7%
Brier
0.2063

Historical replay. Never anchored, never blended into the live record. Open here so you can see what the model has been doing.

The official SplitWinner ledger opens with its first anchor — MLB first, more sports as their seasons start. The alpha chain is closed; the two are never mixed.

Outside the sealed ledger — disclosed, never blended

The live pipeline has run since 2026-02-16. 926 settled picks sit outside the sealed ledger — most predate public anchoring, the rest fell on days without an anchor. They carry immutable database timestamps: verifiable to us, not verifiable to you — which is exactly why they are excluded from the sealed card above and from every anchored claim on this site.

Live record, per model

Wins / losses, observed win rate, and units P&L per model — the FULL live record, including picks settled before public anchoring began. Source: /v1/quant/model-stats. 16 models with settled samples.

Live · refreshed hourly

Per-model live performance
SportModelCategorySampleW–LWin rateROI (u)
mlbMLB ML 1moneyline438265–17360.5%+35.0
mlbMLB ML 2moneyline276172–10462.3%+57.0
mlbMLB SP 1spread381230–15160.4%+26.9
mlbMLB SP 2spread493296–19760.0%-26.9
nbaNBA ML 1moneyline232180–5277.6%+221.9
nbaNBA ML 2moneyline228176–5277.2%+205.4
ncaabNCAAB ML 1moneyline1075779–29672.5%+107.4
ncaabNCAAB ML 2moneyline1101803–29872.9%+117.3
ncaafNCAAF ML 1moneyline167127–4076.0%+45.2
ncaafNCAAF ML 2moneyline201149–5274.1%+41.5
nflNFL ML 1moneyline7054–1677.1%+47.3
nflNFL ML 2moneyline5342–1179.3%+51.3
nhlNHL ML 1moneyline10366–3764.1%+94.6
nhlNHL ML 2moneyline7953–2667.1%+74.3
nhlNHL SP 1spread616427–18969.3%-71.6
nhlNHL SP 2spread650448–20268.9%+74.6

Coverage

Six sports. Year-round.

Every pick lands in the same public ledger, across every sport we cover. Live and backtest counts kept separate — same model, two records, never blended.

Covered
  • mlb
  • nhl
  • nba
  • ncaab
  • nfl
  • ncaaf
  • Sports covered

    6

  • Live predictions

    4,738

  • Live conformal

    996

  • Backtest predictions

    17,043

  • Backtest conformal

    5,167

  • Datasets / sport

    2

See month-by-month coverage on the verification page

§ 04Verify yourself

Don't trust us. Check us.

Three steps. Pure-stdlib Python, no toolchain. Clone the public ledger, run the verifier, check the Bitcoin attestations against the dates we claim. Every verifier release is registered and hash-checked in CI — and the sealed alpha record verifies the same way, forever.

  1. 01

    Clone the public ledger

    git clone https://github.com/SplitWinner/audit_trail
  2. 02

    Run the verifier

    cd audit_trail && python3 verify.py vectors && python3 verify.py chain
  3. 03

    Hand OPERATIONS.md to your security team

    Vendor questionnaires answered before they're asked.
github.com/SplitWinner/audit_trail (opens in new tab)

If we vanished tomorrow, the proof would still stand.

§ 05Track record

Three records, side by side.

Three records, never blended: the anchored slice the sealed ledger can back, the full live record since February 2026, and the historical backtest. Same model, same code, same seeds. If the numbers are honest, the columns should rhyme — judge that yourself.

How these are computed

Live · /v1/quant.live + /v1/quant.backdate · refreshed hourly

Showing backtest record

  • Win rate

    57.1%

    n = 70

  • High-confidence wins

    83.3%

    ≥70% confidence

  • Brier score

    0.2424

    lower is better

  • Calibration error

    0.0963

    lower is better

Per-sport performance metrics
MetricAggregate
Win rate
observed win rate on settled picks
57.1%
High-confidence wins
win rate when model confidence ≥ 70%
83.3%
Brier score
mean squared probability error
0.2424
Calibration error
expected calibration error
0.0963
Avg confidence
mean predicted probability on scored picks
64.6%
Sample size
settled predictions counted
70

Performance in context

What each number should be compared to. Live-mode only — backtest never blended in.

66.8%52.4%
Aggregate win rate

break-even at −110 vig

The bar a sports-bettor has to clear to break even paying standard juice. The model publishes only when conformal coverage holds — abstention pulls this above the break-even line by design.

0.21390.25

random-guess Brier on a binary

Mean squared error between predicted probability and outcome. Proper scoring rule — penalises overconfidence. 0.25 is the random-guess baseline; sub-0.21 is sharp.

0.01900.05–0.15

typical ML models

Expected calibration error: the gap between what the model says and what it hits. Sub-0.05 is well-calibrated; sub-0.02 is rare. When the model says 70%, it hits close to 70%.

0.310.0
Sharpe (per bet)

no edge, no return

Per-bet Sharpe over the live equity curve. Flat-bet (no Kelly) so leverage doesn't inflate it; the signal is the signal. Above zero = positive expectation.

Reliability

Predicted probability vs. observed win rate. The diagonal is perfect calibration.

n = 70

Cumulative P&L

Flat-stake units, settled picks only.

Max drawdown: -12.3u · Sharpe per bet: 0.096

Edge distribution

ROI grouped by the model's predicted edge over market.

n = 70

§ 05For sportsbooks

Your lines, stress-tested before the sharps arrive.

The engine prices every game the way a sharp does — and shows its work. Put it beside your trading desk: see where your line disagrees with a calibrated, publicly audited signal before the money does. Delivered as an API feed your quants can interrogate, and a ready terminal your desk can run.

2026 beta cohort

Twenty desks. One season. Fixed price.

We're onboarding a limited beta for the 2026 seasons — MLB live now, football and the rest as they open. Full feed, sandbox to production in days, a fixed seasonal price quoted in writing, direct access to the operator. When the season ends you hold your own settled record of what the signal was worth — the same ledger receipts we publish.

§ 06Products

One audited engine. Three ways onto your desk.

The Feed is the integrator surface — the engine on the wire, sandbox open today. The Terminal is the same signal as a ready-to-run app, white-labeled for your desk. The Analyst is the natural-language layer on the full audited record. Same engine, same hashes, same anchors.

§ 07Questions

What we get asked.

Plain answers to the questions a skeptic asks first.

  • Can you guarantee wins?

    No. No honest prediction service can. Sports outcomes carry real variance — anyone who guarantees is not being honest with you.

  • How do I know the record isn't faked?

    This is the right question to ask — the industry is full of deleted losses and backdated winners. We built the system so we can't quietly delete a loss or backdate a win. Database triggers reject every UPDATE and DELETE on the predictions ledger. The day's predictions are hashed and committed to a public GitHub repo before the games start, then anchored to Bitcoin.

    The full mechanism + daily reproducibility CI
  • What's the difference between a prediction and a pick?

    A pick is a person's opinion — easy to selectively remember, easy to forget. A prediction is a model-generated probability with a confidence score, logged and scored against the outcome. No cherry-picking, no story — just results measured over a real sample.

  • Aren't backtests easy to fake?

    Yes. So we don't show them as live calls — we show them next to the live record, labeled, with the model's behavior in both. A backtest run on past games is honest characterisation; calling it a live call is fraud. We never blend the two.

  • Why is the live record so short?

    Because we're new. Daily anchoring launched May 2026 — every live pick since is in the public ledger. We could pad it with our backtest history, but that's the trick we built this to prevent. The short live record is the honest signal.

    See the May 2026 boundary on the verification timeline
  • If this works, why don't you just bet it yourselves?

    We have a Kalshi entity account that a team member trades using the predictions plus their own judgment — not a mechanical bet on every pick. That's our internal modeling test, not a public-proof channel. Beyond that: real edges in sports markets are small after vig and reflexive, sportsbooks throttle sharp accounts in weeks, and posting every prediction to a public order book would telegraph the pick to anyone watching. Selling access scales without those constraints. The proof channel is the audit-trail anchor.

Interrogate it before you believe it.

Pick the lane that fits — a short note when the drop or methodology changes, or a direct line to the enterprise track.

Build against the API

The 2026 beta is open.

A limited cohort of desks, a fixed seasonal price in writing, the full feed. Start in the free sandbox — no card, no NDA, integrated in under an hour — and when it holds up, the beta is a direct conversation with the operator.

Get a sandbox key

No card · no NDA

Apply for the 2026 beta

sales@splitwinner.com

Operator briefing

Not ready this season? Stay wired in.

Methodology changes, incident disclosures, cohort openings — the operator's notes, a few times a season. Company and role optional, but they get you routed like a desk, not a list.

No marketing. Just the receipts.