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

Kahleah Copper Over 2.5 Rebounds

wnba · Golden State Valkyries @ Phoenix Mercury · Alt PlayerProp · -231 · 0.19u · result: WIN

pre-commit (pick_hash)714ed4f3aaeef3279ac8819b4f58ca0d1eaf0f409c018df06d0f2ed4017c338d
closing-line (closing_hash)fa8b4f8db4f9a4b234d713240cbc59e2a891bf9ebb305039422446e9704804f5
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).