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

2-Leg Parlay (2 legs) +150

mlb · MLB · 2 legs · parlay · +150 · 1u · result: PUSH

pre-commit (pick_hash)712cb2190bb76589dc103d95c37796b2145cdfdf80423fdf60a87294334e51e1
closing-line (closing_hash)af3ee15c9a54ad91ebf92b209414d5ac25bd8d439517a8f53cb94f7b2d25250a
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).