Skip to main content

/ VERIFY

Public hash-chain verifier

Every NuroPicks pick is committed with a SHA-256 hash before the game starts (the pre-commit hash) and a second SHA-256 over the captured closing line after the line moves (the closing hash). Both hashes are stored UNIQUE in the picks table, and the immutability trigger blocks every UPDATE after insert. Paste any hash you have - even a prefix of 8 characters from a Discord embed footer - and we will resolve it back to the canonical /record entry. If the hash matches, the pick was not edited after publication. If the hash does not resolve, either the row never existed or you are looking at a forgery.

Match: pre-commit hash

Kelsey Plum Over 14.5 Points

wnba · Phoenix Mercury @ Atlanta Dream · Alt PlayerProp · -164 · 0.12u · result: WIN

pre-commit (pick_hash)c0a8043421ce3850739225480843e88d9333c4dffad3773cd05a21473f7fb4ec
closing-line (closing_hash)335d4a56f913774b70d7e1d8cdb9bea2a528a32b2f2fe2f0efe00fff6dd0107f
View full /record entryBrowse all picks

How verification works

  1. When a pick is locked, our publisher computes SHA-256(pick_uuid || odds || market || posted_at || nonce) and stores it in picks.pick_hash with a UNIQUE constraint.
  2. The first 12 hex chars of the pre-commit hash are surfaced in the Discord embed footer the moment the pick is published.
  3. When the closing line is captured (typically 5 minutes before tip), we compute SHA-256(pick_uuid || closing_odds || closing_at) and store it in picks.closing_hash, also UNIQUE.
  4. Both columns are append-only - the immutability trigger from migration 0017 raises an exception on any UPDATE to a settled row.
  5. This page does the inverse: paste any hash and we resolve it back to the canonical row. The hash either matches (proof) or does not (forgery / never existed).