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

Carolina Hurricanes ML

nhl · Philadelphia Flyers @ Carolina Hurricanes · Moneyline · -210 · 1u · result: WIN

pre-commit (pick_hash)053158d4c3f6dbcc893b4cc4c7988c37a4d9646297f6f40afa7db0ae2eaebc23
closing-line (closing_hash)31347d544f5d5c39f1f168e29097bf3e43e9960e15433923cefcc76e2ff25ceb
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).