The Morning Slate · Verifier
Verify a prediction
Recompute the SHA-256 hash of any prediction we've published. The hash math runs in your browser — we never receive what you compute. If you arrived via a prediction <code>?id=</code> link, your browser also fetches that prediction's canonical fields from our public dataset to populate the form; the hash computation itself never leaves your machine. You can also do it yourself, fully offline, with the snippets below.
The prediction
- Prediction ID
- cm94a50b3877092a4d5e46dcab
- Fixture
- Real Betis vs Real Madrid (LALIGA)
- Market
- OVER_UNDER_GOALS
- Selection
- UNDER (Under 3.5 goals)
- Model probability
- 0.6059
- Edge %
- 7.89
- Drivers
- Home Elo advantage: -167 (1629 vs 1796)
- Form: home 0.61 / away 0.94
- Recent xG avg: home 1.45 / away 2.60
- Risk
- (none)
- Schema version
- betclarity-prediction-v2
- Published (UTC)
- 2026-09-01T02:10:07.343Z
- Kickoff (UTC)
- 2026-09-04T19:00:00.000Z
Live recomputation
(Verification will appear here once data is provided.)
Canonical JSON
{"drivers":["Home Elo advantage: -167 (1629 vs 1796)","Form: home 0.61 / away 0.94","Recent xG avg: home 1.45 / away 2.60"],"edgePercent":7.89,"fixtureId":"cmt29vcwo0e4101mvzsl5idtk","kickoffAt":"2026-09-04T19:00:00.000Z","market":"OVER_UNDER_GOALS","modelProbability":0.6059,"publishedAt":"2026-09-01T02:10:07.343Z","risk":"","schemaVersion":"betclarity-prediction-v2","selection":"UNDER"}These are the exact bytes we took the SHA-256 of. Copy them into any SHA-256 tool to verify the hash above yourself.
Don't trust us, do it yourself
// Recompute the SHA-256 of this prediction's canonical input.
import { createHash } from "node:crypto";
const canonical =
`{"drivers":["Home Elo advantage: -167 (1629 vs 1796)","Form: home 0.61 / away 0.94","Recent xG avg: home 1.45 / away 2.60"],"edgePercent":7.89,"fixtureId":"cmt29vcwo0e4101mvzsl5idtk","kickoffAt":"2026-09-04T19:00:00.000Z","market":"OVER_UNDER_GOALS","modelProbability":0.6059,"publishedAt":"2026-09-01T02:10:07.343Z","risk":"","schemaVersion":"betclarity-prediction-v2","selection":"UNDER"}`;
const computed = createHash("sha256").update(canonical, "utf8").digest("hex");
console.log("computed:", computed);
console.log("expected:", "c7ff36c6e5b055b8787b77a06a60cd4752aecd90ec106f9dd375f29800c1dd42");
console.log("match: ", computed === "c7ff36c6e5b055b8787b77a06a60cd4752aecd90ec106f9dd375f29800c1dd42");