Transparency
Verify the ledger
Run the integrity check yourself, and learn how to hold us to the record without trusting our servers.
Verification is temporarily unavailable. The intelligence service is not responding. This page will show live data as soon as it reconnects.
Latest anchor
Anchors are periodic snapshots of the chain heads, published outside the database. Because a copy lives somewhere the database cannot reach, even the database owner cannot rewrite history without the mismatch showing.
No anchor has been recorded yet.
How the chain works
When a prediction (or a data hold) is written, the database assigns the next sequence number, copies the previous row’s hash into prev_hash, and computes row_hash = SHA-256(canonical row). Under hash version 2 the canonical row is a JSON array — so field boundaries can never be ambiguous — of: hash version, sequence, prediction ID, event ID, sport, kind, status, hold reasons, published time, as-of time, input watermark, model version, simulation run, feature set, superseded row, the full prediction payload, the market snapshot, source lineage, commercial eligibility, required tier, the publication gate report and prev_hash.
Ledger tables are append-only at the database level: updates, deletes and truncates are refused by triggers, and a pregame row whose publish time is not before the scheduled start is rejected. Grades form their own chain the same way.
Verify without trusting us
- Save the head. Copy today’s head hash above (or from any game receipt) and keep it. Because every row commits to the one before it, any later edit to an earlier row changes every hash after it — your saved hash would no longer appear in the chain.
- Check the links. “Check links in my browser” downloads the public ledger and confirms that each row’s
prev_hashequals the previous row’shash, entirely in your browser. - Pull the raw data. The same rows are available as JSON at
/wp-json/viglines/v1/ledgerfor your own scripts. - Compare receipts. Every game page prints its row hash, previous hash, model version, trial count and — at Pro, or for everyone once the game starts — the simulation seed.
Limits, stated plainly: full recomputation of a row hash requires every canonical field; some (such as internal run identifiers) are not published, so that step runs server-side. Chain linkage and head anchoring can be checked by anyone.