Scan upcoming matches
the feed loads itself once your keys are saved — first visit: paste keys, hit scan once
Your key is stored in this browser only and sent only to the-odds-api.com — never to this site (it has no server). Pick a match and every odds field below fills itself: Pinnacle 1X2, median over/under across all quoting books. One scan costs 2 API credits.
Team news feed
Confirmed lineups usually post 20–60 min before kickoff — the one feed that carries "off-field" reality (benchings, absences) before anyone writes about it. Key stored in this browser only, sent only to api-football. Display-only: lineups do not feed the model automatically — the player-aware layer is a separate, pre-registered study.
Pre-match odds (the boundary condition)
—
The engine never argues with the pre-match market — it inherits it: the 1X2 pins the difference of the two goal intensities, the totals market pins their sum (measured law: residuals 0.84pp / 0.19pp on 2,268 real matches).
Live state
A red card multiplies the short-handed side's intensity ×0.70 and the opponent's ×1.10 — an assumption, flagged until fitted from event data. The chase profile (×1.15 trailing, ×0.90 leading) is the case with no closed form — the reason the matrix exponential exists here at all.
Pre-bet — pick your outcome
select a match in the feed firstFair = the engine's de-vigged probability. Best price = highest of all books on the scan, named. Edge = that price vs fair — the same yardstick as the paper value arm, with the same caveats (longshot inflation, exchange commission, availability). Clicking take loads it below; nothing is placed anywhere — this page never bets.
Parlay slip
Legs from different matches multiply: win chance = chance₁ × chance₂ × …, payout = odds₁ × odds₂ × …. Every extra leg also multiplies the book's margin, which is why books push parlays. One leg per match — a same-match double (e.g. Spurs win + over 2.5) is correlated and priced exactly in the combo card below, not by multiplying.
Your open bet — cash-out check
Fair continuation value = stake × odds × P(win now), straight off the state vector. Books price cash-outs 5–8% inside fair — this is the number that lets you refuse.
Method, honestly
State = probability of every final scoreline given the score now, evolved by the matrix exponential of a generator holding the goal intensities (probability conserved to 1e-15; reproduces closed-form Poisson to 2.5e-14 where one exists — validated in the repo's tests on 2,268 real EPL matches). Every market shown is a partial sum of that one vector, so all prices are mutually consistent — including exact correlated combos no independence assumption can give. Pre-registered prior: this engine prices AT the in-play market, minus noise. Its honest jobs are valuation, correlation, and cash-out refusal — not beating professionals to a price. No stoppage time modelled; intensities flat over the match; no Dixon-Coles low-score correction yet.