FairWhistle

match-integrity surveillance agent
AGENT LIVE · autonomous ⚠ SYNTHETIC FIXTURE cycle — 🔑 ● LIVE: World Cup Final →
0'
FC Meridian 0 – 0 Atlético Solara
replay t=0/600 · 10-min loop

Odds microstructure — 4 books, live replay

Decimal odds per book. Dashed verticals = public match events (repricing on public news is not suspicious — the agent hunts moves public information can’t explain). ⚠ marks = integrity alerts.

Attested integrity alerts

Detected autonomously · hashed · Ed25519-signed each cycle · fingerprint anchored on Solana devnet.

Surveillance running — no anomalies detected yet this cycle. The tape replays every 10 minutes; planted scenarios are disclosed below.

1 · Velocity (informed drift)

20s log-return vs trailing 120s baseline volatility (event windows excluded). Fires at |z| ≥ 5 sustained 3s outside public-event windows — price moving on information the market doesn’t have yet.

2 · Cross-market coordination

≥5 abnormal book/outcome pairs (|z| ≥ 4) across ≥3 books and ≥2 markets inside one 8s bucket, with no match event — money landing everywhere at once.

3 · Stale-then-snap

A book freezes its whole board ≥25s while consensus drifts ≥1.5%, then reprices ≥2.5% in a single tick — liquidity pulled while holding exposure.

⚠ What is synthetic here — full disclosure

The detectors don’t cheat: they read only the odds stream — the scenario metadata below is never passed to them. The same code paths run unchanged on a live TxLINE feed via the FeedAdapter seam (src/feed.ts).

    Attestation, honestly labeled: alert fingerprints (cycle-invariant detection cores) are anchored on Solana devnet; each cycle’s live detection is Ed25519-signed by the agent key at detection time. Signature verification runs in your browser.