Proof-of-Fair-Odds · an autonomous auditor whose word you never have to take

The fair price of every World Cup line, proven on Solana — not promised.

Odds feeds tell you what a bookmaker quoted. Nobody can tell you whether that quote was fair — the margin, the stale prices, the sharp moves all hide inside private logs the operator can rewrite. LineProof is a machine referee that strips the vig, recomputes the fair line for every fixture, replays each tick for anomalies, then signs a hash of the whole verdict into a Solana memo and publishes the exact report it hashed. Anyone — a rival desk, a regulator, a prediction market — can recompute the digest and check it against the chain. If the two match, the history is honest. No trust in this site required.

fixtures under audit
scans anchored & archived
attestations on devnet
last scan

How the agent works

Four deterministic stages, no human in the loop. The same feed snapshot always produces the same verdict and the same hash — that is the entire point.

01 · INGEST

Read the consensus

Full-match 1X2 prices and score clocks for every fixture on the TxLINE snapshot endpoints, prioritized around kickoff.

02 · NORMALIZE

Strip the vig

Implied probabilities are de-margined into a fair line. The overround itself becomes a monitored signal.

03 · DETECT

Flag what breaks

Stale quotes on live matches, negative-margin arbitrage windows, vig collapse, and price jumps beyond three sigma of a fixture's own tick history.

04 · NOTARIZE

Anchor the verdict

A canonical SHA-256 of the whole scan lands in a Solana memo, signed by the agent wallet. Recompute it yourself; the chain settles disputes.

Live integrity board

Straight from the current scan. Integrity starts at 100 and loses points for each anomaly the detector can defend mathematically.

Fixture auditconnecting to feed…
running first scan against TxLINE…

What the agent caught this tournament

Not a simulation. The agent replays the full tick history of every fixture on the feed — using only what was knowable at each moment — and lists every anomaly its detectors fired on.

Forensic timelinereplaying tick history…
auditing every recorded tick…

On-chain audit trail

Each row is a real devnet transaction from the agent wallet. Open any of them and read the memo: scan id, report hash, match count, flags. Every anchored report is also committed to the public repo, so the loop below closes without trusting this site.

Independent verification, run livechecking…
recomputing digest from the public archive…
Recent attestations
loading signatures…

Why a blockchain, and not a database

A fairness verdict is worth nothing if the party publishing it can quietly rewrite it. Databases have admins; Solana memos do not. Once the agent signs a scan digest into a transaction, the verdict is frozen at that slot forever — the operator of this site included cannot touch it. That single property turns an ordinary anomaly detector into something new: a fair-odds record that a counterparty can accept without trusting the people who ran it. Sub-second finality and fees measured in fractions of a cent are what make notarizing every scan economically boring — which is exactly what an audit trail should be.

FOR PREDICTION MARKETS

A fair-line reference

On-chain sports markets settle against prices nobody can independently check. A signed, replayable fair line gives them a reference input whose history is provable.

FOR RISK DESKS

Third-party evidence

When a desk disputes a settlement or a limit cut, "our logs say so" ends the argument for whoever owns the logs. A neutral anchored record changes who wins that conversation.

FOR REGULATORS & INTEGRITY UNITS

Tamper-evident history

Match-fixing inquiries reconstruct odds movement after the fact, from data supplied by interested parties. Here the reconstruction was signed before anyone knew it would matter.

Built to be integrated

Plain JSON, no auth for the read side. A trading desk, a sportsbook risk team or a settlement layer can consume this today.

# current integrity report (deterministic digest included)
GET /api/report

# trigger an agent tick — scans the feed, anchors on Solana
GET /api/scan

# on-chain attestation history with explorer links
GET /api/attestations

# forensic timeline · closed-loop verification · ops heartbeat
GET /api/replay  GET /api/verify  GET /api/health
// verify any verdict yourself
const r = await fetch("/api/report").then(x => x.json());
const h = sha256(canonical(r.report));
// h === r.scanDigest === the hash inside the
// memo of the matching devnet transaction