1 · Five-minute start
- Open fworld.gammalegion.org/terminal.html — no sign-in required to see the Consensus Divergence Radar (RADAR), the Transparency Baseline Wall (BASELINE) and a 12-match free sample grid.
- Pick your language, timezone (UTC by default) and base currency in the top bar; your preferences are remembered.
- Click any match row — the right-hand drawer gives you Kelly position sizing and the any-line fair-price calculator (PRICER).
- Register and open the LEDGER: log your real bets and let three objective yardsticks tell you whether you beat the closing line long-term — this is the heart of the terminal.
- Quants: install the CLI with one line — curl -sSL https://fworld.gammalegion.org/cli/install.sh | sh — then run fworld auth login.
$ curl -sSL https://fworld.gammalegion.org/cli/install.sh | sh
$ fworld auth login
$ fworld lang # en · zh_cn · zh_tw · ja · ko · ar · es · pt · fr · de · it · ru
2 · Product philosophy: what we sell, and what we never will
FWorld Terminal is a searchlight, not an oracle. We provide three things: facts (unretouched market data and baselines), tools (pricer, Kelly, tape replay, alerts) and audit (your own betting record measured against three objective yardsticks).
Our own model does not beat the closing line across the board — that number hangs on the BASELINE page for anyone to see. Any vendor claiming stable positive CLV across mainstream leagues is lying; any vendor unwilling to show you this number deserves the question: why not?
Things we will never do
- Never sell "sure-win strategies", copy-bet signals, or profit promises of any kind;
- Never display statistically unreliable results — under-sampled combinations are refused outright and labelled under-powered;
- Never paper over missing data — markets with no closing line say so ("CLV not applicable"), and stale data hard-blocks the whole page;
- Never share your betting records with anyone — ledger data never leaves this server.
In July 2026 we withdrew a candidate strategy with a +24.8% backtested ROI because it failed the "oracle-time" look-ahead audit — at bet time it was using information that did not yet exist. We deleted it rather than paint it into a pretty equity curve and sell it to you. The empty sandbox is that principle, made visible.
3 · Core concepts
Master this chapter and every number in the terminal becomes readable.
Model probabilities and distributions
Every match is re-inferred hourly by a Poisson / Dixon-Coles-class model, producing per-side goal rates λ, a 6×6 correct-score probability matrix, a total-goals distribution (PMF) and per-market probabilities. Every "fair price" in the terminal derives from these distributions.
EV (net expected value)
EV = probability × odds − 1. An EV of +5% means that, by model probability, the price returns 0.05 per unit staked in expectation. Caveat: EV is only as trustworthy as the probability behind it — see the honesty statement in the BASELINE chapter.
Fair odds
Fair odds are the price at which EV is exactly zero. The PRICER derives fair prices for any Asian handicap / totals / BTTS line from the score matrix (tail completed via Poisson λ); quarter-lines are split into two adjacent half-lines at half stake each.
CLV (closing line value)
CLV = your traded price ÷ closing price − 1. The closing line is the market's final consensus after absorbing all information; beating it long-term is the professional bettor's gold standard — it separates skill from luck earlier and more reliably than short-term P&L.
The three yardsticks: SP / CNS / PIN
The ledger scores every bet against three complementary rulers: SP = the platform closing price (raw, vig-inclusive); CNS = the 17-book σ-weighted, Shin-devigged fair consensus — the statistical yardstick, answering "did you beat the market's true probability"; PIN = the sharpest single book's raw closing price (vig-inclusive, actually tradeable) — the execution yardstick, answering "did you get a better price than the tradeable close". Only both perspectives together make a complete self-audit.
Devigging and sharpness
Bookmaker quotes embed a margin (the vig); devigging recovers the true implied probabilities. Sharpness = 1 − the tightest book's margin, ranging 0..1 — the higher, the sharper and more informative that match's market pricing.
Steam moves
When one book abruptly moves its price (implied-probability shift ≥ 1.5 percentage points) and other books follow within a 45-minute window, the event is recorded as steam. The TAPE page annotates exactly who moved first, who followed and with what lag — a purely descriptive market fact, not betting advice.
The Kelly criterion
f* = (p×o − 1) ÷ (o − 1) gives the log-growth-optimal fraction of bankroll. The terminal also shows half-Kelly (f*/2) — in practice, because probability estimates carry error, most professionals size at half-Kelly or below. f* ≤ 0 renders as "no edge": the price is not worth taking.
Wilson intervals and under-powered
Every rate-type conclusion (e.g. beat-close rate) ships with a Wilson 95% confidence interval. With insufficient sample (ledger verdicts n<30, sandbox n<50) the system refuses to draw a qualitative conclusion and labels the result under-powered — not a defect, but the line separating this terminal from "90% hit-rate" scam sites.
Absence semantics: a missing key means the ruler does not apply
The terminal enforces strict absence semantics: totals (OU) have no closing line (that market trades at the opening price; a closing trajectory structurally does not exist), so OU CLV appears nowhere — you will see "no comparable close" instead; future matches have no closing line yet, so the grid's CLV column shows "—". Read an empty cell as honesty, not as missing data.
Data freshness and the STALE hard-block
Every page and API response carries the inference timestamp and data age. If data goes more than 6 hours without refresh, the terminal greys out entirely under a red banner — "DATA STALE, do not bet on this data" — and the CLI refuses to emit once --max-age is exceeded (exit code 3). Stale data is never silently presented as fresh.
Guided walkthroughs — the terminal in pictures
Three end-to-end flows cover most of what you will do here. Follow the numbered steps left to right; on a phone they stack top to bottom.
A · Track a pick, then paper-trade it
From spotting a match to reviewing your record by day, month or quarter.
B · Read the model against the market
Where the two disagree — and how far you can trust it.
C · Backtest a rule of your own
Test any idea across 178k settled matches — aggregate-only, honestly floored.
Everything you track and trade here is private and never leaves the terminal. Backtests replay the past and promise nothing about the future — every extra combination you try raises overfitting risk.
4 · Web terminal guide
4.1 Top bar
Left to right: brand (returns to the main site) · MODEL LIVE / STALE status lamp · REF PIN (the global reference baseline) · TZ timezone (UTC/local) · CCY currency (a unit label only — no FX conversion) · language · data-age stamp (inference time + model version) · account state · live UTC clock.
4.2 The data grid
Columns follow a fixed information hierarchy: matchup → [1] correct score (CS) → [2] half/full time (HT/FT) → [3] totals (O/U) → [4] 1X2 → [5] Asian handicap (AH) → CLV. Each cell shows the model's top pick with its probability; cells with net EV above +5% are highlighted green.
Data codes: H=home D=draw A=away O=over U=under; scores as 2-1; half/full as HH (home at HT / home at FT). The default view loads page one (100 matches) of a rolling three-day window; LOAD MORE paginates. Limited plans cannot paginate past their sample wall.
Abstention is the norm — read the grid accordingly
The percentage next to each pick is the recalibrated hit rate (p_cal) — the model's honest track record on similar beliefs, not its raw confidence. An honesty gate makes the model abstain on ~99% of selections; the banner above the grid shows today's abstention rate. The rare green-marked BET stances are the exception, highlighted precisely because they are rare — still not betting advice.
Where a BET stance comes from: every market has its own certification channel — a market's certified cells may emit BET only after its historical record passes a meta-gate audit (including a conformal threshold) on a million-row settled panel. Uncertified markets abstain permanently, even when the model privately leans. Certification can be revoked after a data incident and re-examined once fixed — so a market's stances may vanish for a stretch and later return; that is the gate working, not a malfunction. A stance is a paper/display signal, never a live-betting instruction.
Keyboard shortcuts
T sort by time · E sort by EV · C sort by CLV · / focus search · ↑↓ select row · Enter open drawer · Esc close drawer.
4.2b RESULT REPLAY — settlement review with hit marks
The toolbar's date navigator (◂ date ▸ · ● LIVE) rewinds the grid to any settled day inside your plan's history window. Every row shows the full-time score, and every displayed top pick is marked ✓ (correct) or ✗ (wrong) — settlement facts from the feed, never recomputed on the edge. Lined markets carry their line right in the cell (H +0.5, O 2.5): the line is part of the contract, and the ✓/✗ judges the pick at that exact line — H +0.5 can win on a draw, and the same pick at a different line is a different bet. Abstained cells keep their marks dimmed: the model showed a pick but explicitly refused to stand behind it.
The observation strip above the grid separates stances (non-abstained picks) from abstained cells: stances get a hit count with a Wilson interval, and below the configured minimum sample it honestly reports under-powered instead of a rate. It counts only the rows currently loaded — a page sample, never a track record. Misses are never filtered out.
MODEL × MARKET — the divergence read
When the model's calibrated probability (P_CAL) disagrees with the de-vigged market price on a liquid market, the terminal flags a small neutral divergence mark — but only when the gap survives the model's own calibration band (a Wilson interval around P_CAL). A market price inside that band reads as agreement; only a price outside it is a genuine disagreement. Both sides are de-vigged, so the comparison is apples-to-apples, and the sign only shows direction — never good or bad.
Where a price tape exists (1X2), a second line shows whether the consensus is drifting toward the model (confirmation — the kind of move closing-line value later rewards) or away (a warning that the market is moving against the read). The terminal never ranks these, never greens them and never tells you to bet — it measures the disagreement and its confirmation; the wager stays your call.
The recalibrated hit-rate is only trusted inside its Wilson interval — the center shrinks the estimate toward ½ and the radius widens when the sample n is small. z sets the confidence (z=1.64 ≈ 90%). Only if the interval still clears the market probability does the disagreement survive the gate; otherwise it is noise.
Both sides are de-vigged to probabilities, then compared. The gap must clear a per-market threshold δ_m (config-driven, e.g. 10pp on 1X2, 6pp on AH) before the divergence is called material — never a betting signal, only a flag that model and market genuinely disagree.
4.3 Left rail
League tree (sorted by match count, multi-select filter) · signal thresholds (only +EV>5% / only CLV>0) · BELIEF MOVES: significant changes between two model generations — ev_jump = EV jumped ≥3 points, converge = confidence tightened ≥5 points, drift = moved the other way. It answers: "did the model just change its mind?"
4.4 RADAR · Consensus Divergence (default view)
Per match, RADAR compares PIN (sharpest book, devigged) against CNS (17-book consensus, devigged) on the same outcome: Δ = CNS ÷ PIN − 1. Positive Δ = PIN rates the outcome higher than the crowd = "smart money first"; negative Δ = reverse divergence. The SHARP column shows market sharpness; the coverage line discloses the full funnel (matches in window / platform-only skipped / no-PIN skipped).
The radar is pure market intelligence: it contains no model prediction and no track-record claim. It shows where the sharpest pricer on earth currently disagrees with the crowd — structurally immune to "prediction blow-ups".
CNS is the 17-book closing consensus: each book's de-vigged probability p_k is weighted by inverse variance w_k=1/σ_k², so tighter books count more. De-vigging uses Shin's method (which models the insider proportion), not plain normalization. RADAR reads PIN(devig) against CNS — pure market vs market, no model.
DISPERSION — bookmaker disagreement
σ of de-vigged implied probabilities across ~17 books, per selection. Low σ = the market agrees (consensus stack); high σ = the books disagree — descriptive market intel with a dynamic colour scale, NOT a signal.
Dispersion is the weighted standard deviation of the books' de-vigged probabilities around the consensus. Low σ = tight agreement (settled market); high σ = the books disagree and the price is still being discovered.
DIST — Top-N distributions & stacking
Both platforms side by side, every market as a Top-N ladder (CS top-6, HT/FT & TG top-3, others top-2 — depth is server-configured). Gold frames mark the stacking set (where probability mass concentrates); the 6×6 score heatmap shows the hot cluster; real market quotes appear next to model fair odds where available. Model view, ~zero alpha — see the baseline wall.
Raw inverse-odds 1/o_i sum to more than 100% — the excess is the bookmaker's overround (margin). Dividing each by the sum removes it proportionally, giving fair probabilities that add to 100%. This is the grid's per-cell mkt_p; CNS and PIN fair prices use the stronger Shin de-vig.
The conformal set Ĉ_α (SP only, APS) is the set of outcomes the model dares to include so that the true result Y falls inside it with probability at least 1−α. A larger set means more uncertainty; if it omits the model's own top pick, that is self-doubt worth heeding.
ARB — the arbitrage console (market facts)
Three tabs: cross-book (best prices across ~18 books, same line only), cross-platform (SP vs FA, 1X2 only — different bet types are never force-matched) and cross-market divergence (model vs quote, explicitly NOT locked arb). Each opportunity lists legs, stake split and margin. Locked gaps are market facts, but prices move — re-check before staking; never betting advice.
MULTI — exact joint probability
Same-match legs are correlated: MULTI computes the exact joint probability on the score matrix and shows it next to the naive product — revealing how same-match parlays are mispriced. Combined EV is diagnostic only.
Leg coverage now extends to everything the score matrix can express: 1X2, handicap (the official European handicap), over/under, total goals and correct score. Two leg types are honestly excluded: Asian handicap (push and half-win three-state settlement breaks the multiplication semantics of boolean joint probability) and half-time/full-time (the full-time score matrix carries no half-time information) — these are mathematical boundaries, not missing data; forcing support would mean inventing a joint distribution.
SIM — similar-belief retrace
Select a match and SIM retrieves settled matches in the same league where the model held highly similar beliefs across all markets (Bhattacharyya overlap; line-bearing markets compare only on identical lines), each annotated with what actually settled — score, 1X2, CS, TG, handicap and O/U results.
The stats card compares the actual Top-1 hit rate among similar cases (with a Wilson 95% CI) against the model's own claimed probability — case-based calibration, full history on every plan. Similarity is the distance between model beliefs, not between matches; similar history ≠ same outcome.
4.5 BASELINE · The transparency wall
Shows our own model's true CLV mean and beat-close rate across all mainstream markets — measured bet-by-bet, unretouched. The numbers are negative — that is what mature markets look like, and it is exactly why we dare to hang them here. Use them to calibrate your expectations of every "prediction service" you will ever meet.
The baseline wall now includes the over/under market, on the same footing as the others — lined bets against a same-line multi-book proportionally de-vigged close, with bets lacking a same-line close honestly dropped rather than approximated. When the data block is absent, this section automatically falls back to the old "no closing line" note — never fabricated.
4.6 SANDBOX · Strategy sandbox
Test factor combinations (consensus direction / odds cap / league / sharpness) against historical backtest records — output: n, beat-close rate, 95% CI and a cumulative CLV curve. The sandbox only accepts backtests that pass the oracle-time look-ahead audit — it is currently empty for the reason given in Chapter 2: we withdrew the candidate that failed, and we would rather show nothing than something fake. Combinations with n<50 are refused outright.
But it is not left blank. Below the withheld-data notice, the sandbox now shows a zero-alpha baseline computed on the same audited corpus the BUILDER uses: our own model, blindly flat-betting its top pick over the full 178k-match history. On 1X2 that returns roughly minus the bookmaker margin — no edge, by construction. This is the honest floor any strategy must beat. AH/OU ROI is deliberately withheld there (a same-line survivorship bias would flatter it); only the hit rate is shown. From here a button hands you straight to the BUILDER to test your own conditions against that same floor.
4.7 LEDGER · Your personal CLV audit
Logging a bet: pick the match (mk auto-fills), market (1X2 / AH / OU), side, line, traded odds and stake. Line convention: enter the line of the side you took — home −0.5 and away +0.5 are the two sides of the same market.
Scoring: closing-line data syncs every 6 hours and covers settled matches in a rolling 45-day window; bets settle automatically once data lands (Asian handicaps resolved precisely, including half-win / half-loss) and are scored against all three yardsticks. The audit strip reports n, beat rate, mean CLV, 95% CI and a verdict per ruler — with n<30 it will always say "insufficient sample, no verdict".
Privacy: ledger data lives on this server only — never shared, never repurposed. Deleting an entry deletes it physically.
Trade desk loop. LEDGER is now a full pre-trade → blotter → post-trade loop. Before you log anything, the form shows a live pre-trade check: the model fair price for your exact market/side/line, your entry EV (odds ÷ fair − 1) and, where a same-line quote exists, the devigged market probability. Negative EV is shown in red — honestly — but never blocked: it is your ledger, our job is only to make sure you see the price you are really paying.
Entry snapshots — sealed at the moment you log. When you submit, the server itself computes and freezes three numbers next to your bet: the model fair price at entry, the model win probability, and (same line only) the devigged market probability. They are computed server-side so they cannot be forged, and they are immutable — nothing you or we do later can rewrite what the model said at entry. The blotter shows your entry EV (EV*) per bet, and you can attach strategy tags and a note to any entry (tags and note are the only editable fields; every bet fact is frozen).
The analytics cockpit (Desk tiers). Above the blotter, eight tiles summarise your settled book — net PnL, ROI, mean CLV, beat-the-close rate, max drawdown, per-bet volatility, sample size and Kelly fit — under your chosen yardstick (pin / cns / sp) and window (30d / all). Six charts read your history: equity curve with drawdown shading; CLV distribution; entry-EV → result calibration (did positive-EV entries actually settle better?); segmentation by market, league or tag; 30-day rolling CLV and hit rate; and staking discipline (your stake vs the quarter-Kelly reference). Under-sampled buckets are greyed, never extrapolated. Filter and sort the blotter by market, CLV, PnL or EV*, and export everything as CSV — your data, your file.
CLV scores your entry against the closing price: your entry odds o_entry evaluated at the closing de-vigged probability p_close. Positive means you beat the close — the single most robust long-run signal of skill. The ledger scores it on three rulers (SP platform close, CNS consensus, strict PIN).
4.8 TAPE · Market tape replay
One match's complete price trajectory across 17 books from open to close (change-points only). The thick gold line is PIN; the other books carry fixed anonymous codes B01..B18 — codes never rotate, so observations like "B04 tends to move first" remain valid across matches and months. Yellow ▲ marks steam events; the table below lists mover, magnitude, followers and lag.
Switch between 1X2 and AH views; the AH view annotates each line change. The tape is a verbatim replay of historical fact: NOT a signal, NOT advice.
The tape gains an over/under mode, isomorphic to the Asian handicap view: per-book series on the mainstream line plus line-change tracks. Series accumulate from fixtures crawled after the source expansion — earlier matches honestly have no such mode. Correct score and half-time/full-time have no crawlable time series, and total goals is not a market — none of the three get a tape view: a data boundary, not a trade-off.
MEM — similar closing-state retrieval
MEM retrieves, per league, the historical closes whose market state most resembles the current match: the state signature is built from multi-book de-vigged probability, open-to-now drift and cross-book dispersion, and the output is empirical frequency only — what happened after states like this — with zero predictive claims. Retrieval now covers three markets: 1X2, Asian handicap and over/under; for AH/OU the signature uses same-line books on the modal closing line, and result frequencies include the cover/push three-state. When the current match has not yet accumulated a multi-book track in that market, no state can be formed — honest abstention; small samples are flagged under-powered with no conclusion offered.
4.9 Drawer · Kelly sizing
Enter a bankroll; for every market of the selected match that has both a price and a probability, the terminal computes full-Kelly and half-Kelly stakes plus the total position. Switching currency changes the unit label only.
EV is the expected value of a unit stake at odds o and probability p — a diagnostic quantity only, with no monotone link to real returns (see the transparency wall). Kelly f* is the growth-optimal fraction of bankroll when an edge truly exists; the terminal shows half-Kelly f*/2 for variance control. Neither is a recommendation to bet.
4.13 STRAT BUILDER — no-code strategy backtest
The builder is a TradingView-style condition screener over the full history corpus (178k+ settled matches). Stack conditions from a standard operator set (>, >=, <, <=, between, in) over pre-match fields only — model top-pick probability, model margin, platform, line, kickoff month — pick a bet market (1X2 / AH / OU), and run: the engine replays history with the model's top pick under your filter and returns aggregates only — bet count, hit rate with a Wilson interval, and per-year breakdown. ROI, max drawdown and Sharpe unlock when the odds corpus lands.
Three disciplines are built in and non-negotiable. Aggregate-only: no per-match detail ever leaves the engine. Under-powered gate: if your filter matches fewer than the configured minimum, no statistics are released at all — a narrow filter that "finds" a great record on 12 matches is noise, and the terminal refuses to print noise. And the banner above every result repeats the only honest reading: backtests replay the past, promise nothing about the future, and every extra combination you try raises overfitting risk.
With the odds corpus in place, the PnL triple is live for 1X2 and OU: ROI (mean return per flat 1u bet, close settle), the cumulative-PnL curve with its drawdown shown as the red under-water area (MAX DD reported in units, not percent), and a Sharpe ratio annualised from monthly PnL. AH still shows its hit rate but honestly withholds PnL until the home side confirms one remaining data semantic — the terminal never prints a number it cannot stand behind. Watch the demo: a filter can hit 64% and still lose money — the odds are the denominator, and that lesson is the whole point of the builder.
Backtest markets now number six: 1X2, Asian handicap, over/under, handicap, total goals and correct score, side always the model top pick. The hit-rate dimension covers the full history; ROI and CLV dimensions appear only for markets with historical closing prices — handicap and correct-score closes are a single official ruler with a small sample, labeled as such in the UI; total goals has no corresponding market and stays hit-rate-only forever. Under-sampled aggregates are stopped by the min-n gate as always.
4.10 Drawer · PRICER, the any-line fair-price calculator
Choose a market type (AH home/away, totals over/under, BTTS), enter any line and the quote you are being offered — you get the model fair price and your quote's implied EV instantly. The permanent notice applies: a model fair price is not a prediction; this model's global CLV is negative (see BASELINE). The tool exists to show how far your quote sits from fair — the judgement remains yours.
On Desk tiers the calculator covers all nine families — 1X2, AH, O/U, European handicap, total-goals buckets, correct score, DNB, double chance and BTTS — with an FA/SP source toggle where both distributions exist, a clickable line ladder around your line, and a quarter-Kelly stake reference. One tap on «log at this price» carries the market, side, line, odds and suggested stake straight into the LEDGER form — nothing to retype, nothing to misremember. Price-only families (DNB, double chance, BTTS) stay calculator-side, honestly labelled.
4.14 TRACK — watchlist, predictions & paper-trade analytics
Tap ★ on any grid row to add a match to your private watchlist. You may attach a prediction (the row's model top pick is pre-filled, or set your own direction), or just watch it. After the match settles, TRACK marks each prediction ✓ or ✗ from the closing-line data, and rolls your record up by day, month or quarter — prediction hit rate, and separately your paper-trade PnL / ROI / closing-line value. Everything is private and never leaves the terminal.
Two guardrails keep it honest. You can only track matches currently in the feed — the watchlist is a forward-looking tool, not a way to query historical results after the fact. And paper trading is labelled exactly as that: no slippage, no execution, not real returns. TRACK is where you keep yourself accountable; the BUILDER is where you test a rule across the whole history.
Two extras make a prediction worth more than a checkmark. First, once a match settles TRACK shows the closing market probability of the exact side you called — de-vigged from the strict pin ruler — and flags whether you were with the market or ↯ contrarian. A hit on a side the market priced below 50% is worth far more than agreeing with the favourite; this is where you see if you actually saw something the market missed. Second, any open prediction carries a → paper button: one tap turns it into a paper trade in your ledger, inheriting the match, market, side and line — you only add the odds and stake you would have taken. WATCH is the low-friction way to keep score; the paper ledger is where the same pick graduates into a CLV-audited trade.
Predictions and paper trades cover all seven markets from both sources: 1X2, handicap (the official European handicap), Asian handicap, over/under, total goals, correct score and half-time/full-time. The handicap line is locked from the feed at the moment you add the pick (locked-before-kickoff principle — you cannot choose your own line); half-time/full-time needs the half-time score to settle, and matches missing it are honestly marked unscorable. The with-market/contrarian read appears only for markets that have a closing price (1X2, Asian handicap, over/under, handicap) — total goals and correct score have no de-viggable closing market, so that comparison is honestly left empty, never invented.
Besides the one-tap ★ on any grid row (carrying that row's 1X2 top pick), the watchlist card has a manual add form: pick a match from the current grid, choose market and side (type the score directly for correct score, e.g. 2:1), fill the line for Asian handicap / over-under, and add. One match can hold predictions on several markets at once; re-adding the same side never duplicates an entry.
4.15 PARLAY — paper accumulators
Inside TRACK, the PARLAY builder lets you chain 2–13 legs from different matches on a single platform (SP or FA) into one paper accumulator — one market per match, any of the seven market types, and the combined odds are simply the product of every leg's odds. Pick a match from the pre-match window, choose market, side and line, type the odds you see, and add the leg; the slip shows the live combined price and potential payout before you commit a stake.
Settlement follows industry parlay rules, leg by leg, from the same closing data that scores the ledger: a won leg multiplies by its odds, a push or void leg drops out of the chain (multiplier 1), quarter-line legs contribute (1+odds)/2 on a half-win or 0.5 on a half-loss, and a single lost leg zeroes the whole ticket — the card settles the moment any leg loses, without waiting for the rest. Payout = stake × the product of all leg multipliers, computed in exact decimal arithmetic and rounded only once.
A parlay multiplies the bookmaker's margin of every leg. Two legs at ~5% vig each already give the house roughly double the edge of a single; thirteen legs compound it beyond repair. That is exactly why bookmakers love accumulators — and why this instrument exists on paper: to let you measure the erosion instead of funding it.
Each settled ticket also shows a parlay-level CLV: your entry combined odds against the closing combined odds of the same platform. It only appears when every leg has a matching closing price — if any leg lacks one, the field honestly shows a dash rather than a half-real number. Legs whose matches slide out of the 45-day settlement window before scoring mark the whole ticket 'unscorable'; it is never silently faked as void. Your parlay record aggregates by leg count, so you can see for yourself how hit rate and PnL decay as chains grow longer.
4.16 EDGE — the evidence board
EDGE is the terminal's landing tab and its single answer to "where do I start?". It scans every pre-match cell in the window and ranks them by the strength of evidence the system has already published elsewhere: the model's rare public stances (it abstains on ~99% of selections), how many of the three divergence gates the cell clears — a material gap in probability space, a market price outside the calibration band built on tens of thousands of settled observations, a gap larger than the bookmakers' own dispersion — plus a positive calibrated EV and the depth of settled evidence behind the number. Every weight and threshold is configuration, and the whole board is one server-built snapshot per data generation: everyone sees the same list.
Each entry shows a five-dot strength gauge, a plain-language explanation assembled from the evidence pieces, and — on Edge tier and above — the full technical stack and a sizing line: a fractional Kelly (quarter-Kelly, hard-capped per entry) computed from the calibrated probability and the listed price, with your bankroll stored only in your browser. Free accounts see the top entries of the previous data generation; Pro sees the live board; the technical stack and Kelly panel unlock on Edge. An empty board is not a malfunction: on most days the evidence simply is not there, and the board says so.
The Δ reading is an absolute difference, not a relative gain: Δ = calibrated model probability − de-vigged market probability, in percentage points (pp). "Model belief 61% ⇄ market consensus 28%" gives Δ+33pp — the model prices this outcome 33 percentage points above the market, not "33% higher" in ratio terms (that would be +118%, which we never show: relative figures inflate on small bases, pp cannot be gamed by the base). Model belief is calibrated on the full settled history (the n in each entry); market consensus strips the bookmaker margin via the Shin method. Remember: a bigger Δ does not mean a likelier win — it only measures the size of the disagreement; its credibility is vetted by the three evidence gates and n, and the EV shown is additionally shrunk for historical overconfidence, so it is always more conservative than a naive conversion from Δ.
The board is a ranking of our own published signals, not a new prediction and not a tipsheet. Evidence strength is not a profit promise — our own early-price CLV audit is negative and published in full. The Kelly line is a ceiling from risk mathematics, never a recommendation. The decision, and the risk, are yours.
Every list is archived the moment it is built. The REPLAY link at the top of the board settles past entries against closing data and shows the record — hit rate with a minimum-sample gate (under-powered samples are shown for transparency and explicitly marked as no conclusion), wins and losses alike. A pointer you cannot audit is a tip; a pointer with its failures on public display is an instrument. Desk seats can additionally enable a browser notification when a new generation lists strong evidence.
4.17 Multi-rank picks (TopK · hedge view)
Predictions go beyond Top1: correct score shows Top1–6, total goals and HT/FT Top1–3, 1X2 Top1–2 (handicap and over/under are two-sided, Top1 only). Every rank shares Top1's readout — calibrated probability, live price, EV — and carries a per-rank all-history record: across 180,000+ settled matches, each rank shows its realized hit rate with a confidence interval (e.g. 1X2 rank T2: predicted mean 26.4%, realized 27.8%). Rows marked ° are derived (calibrated distribution × quotes); HT/FT per-rank records come from genuine model-head samples (smaller n, wider confidence intervals) and are shown honestly.
How to read it: one row per rank — T badge (T1 on gold) · selection name · calibrated-probability bar (width relative to T1) · @live price · EV (green ≥1 / red <1) · trailing per-rank all-history hit rate (hover for n and the confidence interval) or a ° derived mark. The grid list only carries a +N counter chip hinting at depth; click a row to open the drawer for the full ladder, and the drawer's "view full distribution" button jumps into the DIST instrument for the whole probability curve. Visible ranks follow your plan: Free sees Top1, Pro adds 1X2 Top2, Edge and above get the full ladder plus the equal-profit split line.
How per-rank records are computed: for 180,000+ settled matches, each match's calibrated belief vector is ranked, then every rank is scored against the real settlement outcome. Outcome determination uses three redundant sources in priority order — ① the settlement block carried by the belief entry itself; ② a daily-updated historical settlement index; ③ the settled archive as the final fallback. The layers are cross-validated against each other (any disagreement triggers an audit), everything runs server-side, and a missing layer falls through to the next honestly — never guessed. HT/FT currently rests on genuine model-head samples (smaller n); the same three-layer determination applies.
The equal-profit split line below the ladder is pure arithmetic at listed prices (stake ∝ 1/odds): coverage probability, combined odds and combined EV. Combined EV is usually negative — bookmaker margin stacks with every leg — so the line is both a hedging tool and an honest warning: covering many ranks is not a free lunch, and none of this is betting advice.
Share cards — read-only audit snapshots
From LEDGER, SIM or ARB you can generate a read-only share link (/card/…). The snapshot is built server-side from your real data — it cannot be forged — and carries the honesty footnotes. You can revoke your own cards at any time; daily creation is capped.
your numbers — never betting advice
5 · CLI guide
5.1 Install and verify
Single file, zero third-party dependencies, Python ≥3.9. The install script performs SHA-256 integrity verification automatically and deletes the file on mismatch. You may also download /cli/fworld and /cli/SHA256SUMS manually, verify, and place the binary on your PATH.
$ curl -sSL https://fworld.gammalegion.org/cli/install.sh | sh
$ sha256sum ~/.local/bin/fworld # ⇔ https://fworld.gammalegion.org/cli/SHA256SUMS
5.2 Authentication and key hygiene
Create an API key under Account → API keys on the website (plan-gated). fworld auth login prompts interactively and stores the key at ~/.config/fworld/config.toml (mode 0600); the FWORLD_API_KEY environment variable also works. By design the key is never accepted as a command-line argument (process-list leakage), and can be revoked on the website at any time.
5.3 Language
Human-readable output ships in 12 languages: fworld lang shows the current language and how it was resolved; fworld lang ja switches persistently. Precedence: --lang flag → FWORLD_LANG → config file → system locale → English. --help and --json remain English/pure data.
5.4 Command reference
| fworld auth login|status|logout | log in / show plan, quota, data age and model version / log out |
| fworld grid | the data grid: --league --from/--to --sort ev|clv|time --tz --csv |
| fworld baseline | the transparency wall (global CLV baseline) |
| fworld radar | consensus divergence: --min-delta threshold (percentage points) |
| fworld moves | belief moves (significant changes between model generations) |
| fworld sandbox | strategy sandbox: --where "consensus=same,cap<3.5" --domain |
| fworld kelly | Kelly sizing (purely local): --bankroll --odds --p [--half] |
| fworld alert add|ls|rm | server-side alert rules: add --where … --push tg / ls / rm |
| fworld ledger add|ls|audit|rm | the audit ledger: add / ls / audit / rm (same ledger as the Web) |
| fworld grid --topk | grid with --topk: prints the multi-rank ladder under each row (selection/probability/price/per-rank history) |
| fworld dist <mk> | Top-N distributions, both platforms (values only, no heatmap) |
| fworld arb [<mk>|--board] | arbitrage: single match or whole-window board (--kind book,platform,market) |
| fworld trend <mk> | per-book price drift + lead book (1X2; numbers, no chart) |
| fworld multi --leg … | exact joint probability vs naive product (--leg mk:market:sel[:line]) |
| fworld similar <mk> | similar-belief history with full settlement (table, no badges) |
| fworld card ledger|sim|arb | create a read-only share card (server-side snapshot) |
| fworld tape [ls|<mk>] | the tape: ls lists the window; tape <mk> renders trajectories and steam events |
| fworld export | machine export (full pagination): --json/--csv, --max-age staleness hard-block |
| fworld watch | full-screen TUI: 60-second ETag polling, no redraw on 304 |
| fworld lang [code] | show / switch the 12-language human output |
$ fworld grid --sort ev --tz local
$ fworld ledger add --mk fa_2962528 --market ah --sel H --line -0.5 --odds 1.95 --stake 200
$ fworld ledger audit
$ fworld tape fa_2962528 --market ah
$ fworld similar cid_2999996 --limit 10
$ fworld arb --board --kind book
$ fworld export --json --max-age 2h | jq '.rows[] | select(.ev_top > 0.05)'
# crontab:
17 * * * * fworld export --json --max-age 2h > /data/feed/latest.json
5.5 Interactive terminal (REPL) and the TK shortcut
Run bare fworld (no sub-command) to enter the interactive terminal: a status line shows your plan, quota and data age, and single-key shortcuts jump straight to each instrument — G grid, T tape, D distributions, A arb, W live screen and more; press ? for the full shortcut table. v1.11 adds TK (or TOPK): one keystroke prints the grid with multi-rank ladders — under each row, T1…TK list the selection, calibrated probability, live price and per-rank all-history hit rate (° = derived rank). It is equivalent to grid --topk, and trailing arguments pass through as usual (e.g. TK --league EPL). Any full sub-command also works inside the REPL.
$ fworld # bare call → REPL fworld> TK --league EPL # = grid --topk fworld> ? # full shortcut table
5.6 Exit codes and automation
0 success · 2 no data / awaiting data · 3 stale (--max-age exceeded, output refused) · 4 auth / feature locked · 5 network or server error. Every command supports --json (pure data, language-independent); GET results are ETag-cached locally, and unchanged data returns 304 without touching your quota — an hourly cron poll costs almost nothing.
Staleness hard-block in practice: fworld export --json --max-age 2h exits with code 3 and refuses to emit once data age exceeds two hours — stale data never flows into your downstream pipeline.
Glossary — every abbreviation on the terminal
The terminal is dense with market shorthand. Here is every abbreviation you will meet, what it means, and how to read it correctly. Bet-type codes are industry-standard and kept in their conventional form.
Workspace tabs · localized name ↔ code ↔ function
| CODE | NAME | FUNCTION |
|---|---|---|
| ◎ RADAR | RADAR | Consensus-divergence radar: PIN vs the σ-weighted 17-book CNS (pure market). |
| ▦ DISPERSION | DISPERSION | Cross-book dispersion (σ) of the de-vigged probabilities — how much the books disagree. |
| ◫ DIST | DIST | The model's full probability distribution (near-zero alpha; structure, not a prediction). |
| ◆ ARB | ARB | Arbitrage board: locked-profit opportunities across books and platforms. |
| ⋈ MULTI | MULTI | Multi-leg / accumulator builder — combined odds compound, joint probability decays. |
| ≈ SIM | SIM | Similar-match retrace: historical matches where the model believed the same thing. |
| ◍ EFF | EFF | Market-efficiency map across leagues and markets. |
| ⇉ LEAD | LEAD | Lead-lag: which book moves the price first, who follows, how fast. |
| ◉ MEM | MEM | Market memory: what happened after similar closing states in this league. |
| BASELINE | BASELINE | Market-efficiency baseline wall — our own model's CLV, published unvarnished. |
| SANDBOX | SANDBOX | Strategy sandbox + the zero-alpha baseline (blind flat-betting returns ≈ minus the margin). |
| ▤ LEDGER | LEDGER | Personal CLV audit ledger, scored on three rulers (SP / CNS / PIN). |
| ≋ TAPE | TAPE | Market odds tape — every book's price, change-points only. |
| ⚙ BUILDER | BUILDER | No-code strategy backtest over 178k settled matches (aggregate-only). |
| ▣ TRACK | TRACK | Watchlist + predictions + paper trades, private, with day/month/quarter stats. |
Sources & yardsticks
| SP / FA | The two market sources the terminal reads, shown only under these neutral labels. Compare a price across both to see where the sources themselves disagree. |
| PIN | The sharp reference price the terminal benchmarks against. Treat it as the closest thing to a true market price; distance from PIN is a first read on value. |
| REF | The active reference yardstick — REF PIN means the sharp reference is in use. It is the price your model number is being measured against. |
| CONS | The aggregate price across books at a moment. The live yardstick: a model edge is only meaningful relative to it. |
| OPEN / CLOSE | The opening and closing line. The close is the market's final, sharpest word; beating it (CLV) is the honest measure of an edge. |
| BOOK / BOOKS | An individual bookmaker's price, or the full set of books. Dispersion across books tells you how firm the consensus is. |
| YARDSTICK | The three references a model number is shown against — open, consensus and close. Read all three to see not just what the market thinks but how it moved. |
| ALL | The platform filter showing every source at once; switch to SP or FA to narrow the grid to one source. |
Bet-type codes
| 1X2 / WDL | The match result: home win (1), draw (X), away win (2). The core three-way market. |
| O/U | Over/under a goal line such as 2.5 — whether total goals finish above or below it. |
| AH | Asian handicap: a handicap line with no draw and stakes refunded on an exact push. Splits the result into two priced sides. |
| HCP | A whole or European handicap applied to the result before it settles as 1X2. |
| BTTS | Both teams to score — a yes/no on whether each side scores at least once. |
| CS | Correct score: the exact final scoreline. The highest-granularity market; its probability lives in the distribution tails. |
| TG | Bucketed total goals (0–7+, exactly N goals), an SP-specific market; the international book ecosystem only prices O/U lines, so FA has no such market — FA fixtures get a distribution-only observation ladder. |
| HT/FT | Half-time / full-time: the result at the break paired with the result at the end. |
| OVR% | The model's implied probability that a total finishes over the line. |
Model & price columns
| MK | The internal match key, a raw id. The terminal always resolves it to team names; if you ever see a code, that fixture is not yet fully named upstream. |
| MODEL | The model's own probability or fair price for a market. Always read it beside MARKET, never alone. |
| MARKET | The market-implied price, de-vigged where shown. The reference the model is arguing with. |
| EV | Expected value, shown for measurement only. The terminal never sorts by it, never greens it and never ranks bets — a positive EV is an observation, not a recommendation. |
| CLV | Closing-line value: the gap between the price you took and the close. The single honest long-run scoreboard for whether an edge is real. |
| EDGE | The model's disagreement with the market on a selection — the raw size of the claim, before you judge whether to act. |
| TOPK | The 1st…Kth candidates of one market ranked by calibrated probability. Every rank shares Top1's readout; per-rank hit rates come from 180,000+ settled matches. |
| TG | Bucketed total goals (0–7+, exactly N goals), an SP-specific market; the international book ecosystem only prices O/U lines, so FA has no such market — FA fixtures get a distribution-only observation ladder. |
| FAIR | The model's fair price for any line, re-priced from its distribution. Compare it to the price actually on offer. |
| P_CAL | The calibrated probability — the model's confidence after calibration to historical hit rates. The number to trust over raw confidence. |
| conf_raw | The model's raw, pre-calibration confidence. Use P_CAL for decisions; conf_raw is the unadjusted input. |
| STANCE | The model's posted position on a match: a BET stance or, far more often, abstention. |
| BET | The bet column. Empty on roughly 99% of fixtures by design; a filled cell is a rare flagged edge, not advice to stake. |
| SIGNAL | A fixture the model has flagged as a genuine edge. Rare, and valuable precisely because it is rare. |
| DRIFT | How a line has moved between references. A close drifting toward the model confirms an edge; drifting away is a warning. |
| divergence | The gated gap between the model's calibrated probability and the de-vigged market price — flagged only when it survives the model's calibration band, on liquid markets. A measurement of disagreement, never a recommendation. |
Stats & settlement
| σ | The dispersion of de-vigged implied probabilities across books. Low sigma is firm consensus; high sigma means the books disagree. |
| calibration band | A Wilson confidence interval around the model's probability at its effective sample size. A market price inside the band is within the model's calibration noise; outside it is a genuine disagreement. |
| drift confirm | Whether the consensus is drifting toward the model (confirmation — the leading edge of closing-line value) or away (a warning). Shown where a price tape exists (1X2). |
| n | Sample size — how many historical analogues or bets a statistic is built on. A small n means read the number with caution. |
| BC | Bhattacharyya coefficient: the overlap between two probability distributions, used to score how similar a historical match is. |
| Wilson | A Wilson 95% confidence interval on a hit rate. It gives the range the true rate plausibly sits in, not just the point estimate. |
| percentile | The strict similarity cut-off SIM uses to admit a historical match as a genuine analogue. |
| de-vig / overround | The bookmaker's margin (overround) and its removal (de-vig), to recover a fair implied probability from a price. |
| Kelly | Fractional-Kelly position sizing from edge and odds. Deliberately conservative; the terminal never sizes at full Kelly. |
| ROI | Return on investment, overall and per day. A settlement-based scoreboard — slower and noisier than CLV. |
| PnL Σ | Cumulative profit and loss across your ledger. |
| Hit / Miss | Whether a settled selection came in (Hit) or not (Miss). |
| Matched | A line that matches across two sources — a precondition for any genuine arbitrage. |
| LOCK / NO LOCK | The arb verdict after the guards. Only a matched line from two independent sources locks; everything else is NO LOCK. |
| Legs | The individual selections in a combo. Combined odds and the model's joint probability both compound with each leg. |
Microstructure
| EFFMAP | The efficiency map: where the market prices tightly versus where exploitable structure remains. |
| LEADLAG | Which source discovers price first (lead) and which follows (lag). The timing gap between them is where the best price lives. |
| MEMORY | Per-league market memory: recurring structure the market has shown before. Context, not a signal. |
| DISPERSION | How widely the books disagree on a market — a read on how much conviction the consensus carries. |
| half-life | How fast a memory or signal decays; a shorter half-life means older observations count for less. |
Interface & state
| LIVE | The data is current and the model is live. The normal operating state. |
| RESULT REPLAY | Settlement replay mode: the grid rewound to a past day with every displayed pick marked ✓/✗ against the final score. Facts of record on a loaded sample — not a track record, not advice. |
| MAX DD | Maximum drawdown: the deepest peak-to-trough fall of the cumulative PnL curve over the backtest — the worst losing stretch your strategy would have lived through. A risk measure, not a prediction. |
| SHARPE | Sharpe ratio: mean return divided by return volatility (annualised). Rewards steadiness, punishes swings; comparable across strategies. Backtest Sharpe is descriptive of the past only. |
| STALE | The data is too old to act on. The terminal blocks betting reads and warns you outright — do not bet on stale data. |
| agestamp | The age of the data you are looking at. Always check it before reading any price. |
| TZ | The timezone for kickoff times: UTC by default, or Local to your device. |
| CCY | The display currency for stakes and returns (USD, EUR, GBP, USDT). Display only — it does not convert your ledger. |
| SORT | The grid ordering control. Note there is no sort-by-EV: the terminal will not rank bets for you. |
| FREE / PRO / EDGE / DESK | The access tiers. They govern depth and microstructure access, never a different set of answers — the honest engine is the same on all. |
6 · Playbooks — market-structure methodology
8.1 · SP/FA scissor spread — the truth about locked arbitrage
SP and FA are two independent line sources. For the same match and outcome, their de-vigged implied probabilities often differ — that difference is the “scissor spread.” DISPERSION measures its distribution; ARB judges whether the rare few constitute genuine risk-free lock-arb. Most scissor spreads are NOT arbitrage: a true lock requires the same market, the same line, and two-sided prices such that 1/o₁ + 1/o₂ < 1.
The terminal's fake-arb guard already filters three false signals for you: it will not call a lock without a line (different handicap/total lines are a quoting-basis difference, not arbitrage), will not call one from a single source (no cross-platform lock is possible), and only judges cross-platform on cid (SP∩FA aligned) matches. Operating flow: sort the ARB console by lock rate, look only at rows tagged locked_arb, re-confirm both platforms are on the same line before betting, cross-check with DISPERSION, then log both legs in the LEDGER and let the three rulers show whether you actually locked the spread.
8.2 · Early-line EV methodology — and its anticlimax
Early markets are less efficient than closing markets: liquidity is thin and the line has not matured, so paper EV appears larger. Use PRICER to compute the EV of an early price against the model's fair price (EV = p × odds − 1). This is real, and it is tempting.
Here is the anticlimax that makes this an honest methodology rather than a sniping strategy: the BASELINE wall shows that our own model's global CLV is negative — including at the early stage. Paper EV is a temptation; the closing line is the judge. The correct workflow is not “fire on high early EV,” it is: record your early pick in the LEDGER, then let the three rulers tell you, after settlement, whether that paper EV was actually redeemed by the closing line, or eaten by it.
8.3 · Hedging & loss-reduction math (with an honest data boundary)
Hedging is arithmetic, not magic. If you hold a stake on outcome A at odds o_A and want to lock or reduce risk with the opposite side at odds o_B, the hedge stake that equalizes the two outcomes is s_B = s_A × o_A / o_B; the locked return is s_A × o_A − (s_A + s_B). Whether that locked number is positive (a true lock) or negative (a loss-reduction) depends entirely on how the two prices moved apart.
What the terminal can support today is pre-match cross-platform hedging: taking opposite sides on SP and FA before kickoff, which its odds data covers. Use ARB and DISPERSION to see whether the two platforms have diverged enough for a favorable pre-match hedge, and the LEDGER to record both legs.
8.4 · Model card — FWorld Origins
Architecture (only what is verifiable is asserted): a Poisson-family bivariate score model — the per-match goal-rate parameters λ(home)/λ(away) are published on every match page — producing a full 6×6 score matrix from which all markets (1X2, handicap, Asian handicap, over/under, total goals, correct score, half-time/full-time) are derived. Consensus is built from 17 books, de-vigged proportionally (Shin for the sharp ruler). Finer internal architecture is home-side proprietary and is deliberately not asserted here.
Known limitations (published in the spirit of the BASELINE wall): cup and friendly coverage is thinner than league play; calibration drifts in the first rounds after a transfer window; real-time red-card and injury information is not in the model inputs; and — most importantly — the model's global CLV is negative. It is a lens, not an oracle.
Auditability: the BASELINE wall hangs the model's measured CLV and beat-close rate per market, in full and unvarnished. Any claim of a stable, globally positive CLV is a lie; we publish ours here so you can hold us to the same standard we hold everyone else.
8.5 · Methodological references
The statistical methods behind the terminal are standard, peer-reviewed techniques, not proprietary magic. The core references:
- Dixon & Coles (1997) — Modelling Association Football Scores and Inefficiencies in the Football Betting Market, J. Royal Statistical Society C
- Shin (1993) — Measuring the Incidence of Insider Trading in a Market for State-Contingent Claims, Economic Journal
- Wilson (1927) — Probable Inference, the Law of Succession, and Statistical Inference, JASA
- Vovk, Gammerman & Shafer (2005) — Algorithmic Learning in a Random World (conformal prediction), Springer
- Kelly (1956) — A New Interpretation of Information Rate, Bell System Technical Journal
7 · Plans and feature matrix
A free account already sees the radar, the baseline wall and a 12-match sample — we believe transparency is the best salesperson. Prices and checkout live on the main site under Pricing; 6-month terms are 20% off, 12-month terms 40% off.
| Feature | |
|---|---|
| Data grid sample wall | Free 12 → Pro 100 → Edge/Desk unlimited |
| Consensus divergence radar + belief moves | Edge and above |
| Strategy sandbox + Alpha alerts (TG) | Desk |
| Market tape replay | Desk |
| Audit ledger | Free 20 bets · Insight 200 · Edge and above unlimited + long-run verdicts |
| CLI login keys | Desk |
| CLI / full-screen TUI · team seats · frozen-contract guarantee · quarterly bespoke backtest | Desk |
| Similar-belief retrace (SIM) | All plans · always full history |
| Read-only share cards | All plans (signed in) · arb card needs Edge |
8 · FAQ
Why is the CLV column so often "—"?
Future matches have no closing line yet; OU structurally has none at all. The absence is the answer (see 3.10, absence semantics).
Why is the sandbox empty?
Because the only candidate strategy failed the look-ahead audit and we withdrew it (see Chapter 2). An empty sandbox is proof we don't sell fake curves. It lights up when an audited strategy exists.
I logged a bet — why isn't it scored yet?
Scoring waits for two things: the match to settle, and the closing-line batch to arrive (every 6 hours). Matches older than the 45-day window can no longer be scored and are marked unscorable.
Why does one yardstick show no CLV for my handicap bet?
If your line differs from that ruler's closing main line, the system refuses cross-line comparison (line mismatch = no score) rather than interpolate a fake ruler. The SP ruler carries no AH/OU closes at all.
My audit says not_beating — am I bad?
Its precise meaning is: "at the current sample size there is no statistical evidence that you beat the close". Accumulate sample (n≥30), then watch whether the CI lower bound clears 50%.
Does "smart money first" mean I should bet that side?
No. It is a market fact: the sharpest pricer disagrees with the crowd. What you do with that fact is your judgement and your responsibility.
How fresh is the data? Is it real-time?
The model re-infers hourly; consensus/closes/tape sync in 6-hour batches. This is not a tick feed — the product is pre-match intelligence and audit, not in-play scalping.
The STALE banner appeared — what now?
Wait for the pipeline to recover (typically within hours; administrators are alerted automatically). Nothing displayed under the banner should inform a decision.
I got a 429 — what happened?
Daily quota exhausted (plan-based). CLI users: make sure you benefit from ETag caching (304s are free); if that isn't enough, upgrade.
Which bookmakers are B01..B18?
We don't disclose (source protection). Codes are globally fixed and never rotate, so behavioural observations remain valid across matches and months — a deliberate design balance: researchable, not reverse-mappable.
CLI installed, but fworld grid says no key?
Run fworld auth login first (requires a CLI key created on the website, Desk plan). For a free look, use the Web terminal.
The manual disagrees with actual terminal behaviour — which wins?
Actual terminal and CLI behaviour wins. Please tell us via Support on the website — we treat documentation defects as bugs.
9 · Disclaimer
Everything in this terminal is information and analytical tooling — not betting advice, not financial advice, not a promise of profit. Sports betting carries risk; confirm legality in your jurisdiction and stake only what you can afford to lose. Model probabilities carry error; past performance does not indicate future results.
By using this terminal you acknowledge: our model does not beat the closing line globally (see BASELINE); the product's value lies in honest market intelligence, pricing tools, and the audit of your own record.