How to Verify a Poker Hand Wasn’t Tampered With — Yourself
The biggest risk to “verifiable fairness” is that it becomes a slogan — much said, rarely verified. This article explains what verification actually checks, how much each level of verification is worth, and how you can do it yourself, even without being a programmer.
The object of verification: the hand transcript
A verifiable hand leaves a complete evidence chain: who committed the encrypted deck and when, who shuffled, which decryption material corresponds to each revealed card, plus the signature and hash of every step. That chain is the transcript. Verification = replaying the whole hand from the transcript and checking that every link holds.
Four levels, very different value
- Level 1: look at a result. The platform shows a green “verification passed” light. Convenient — but you are trusting the platform’s own check
- Level 2: in-browser replay. Your device (not the platform’s server) independently replays the transcript, checking signatures and the hash chain. The fairness check card at the top-right of a Fair Poker table is this level — the verification code runs in your own browser
- Level 3: independent tool re-verification. Feed an exported transcript into a public verifier that is separate from the game client. This level even covers the case where the game client itself was tampered with
- Level 4: reproducible build. Recompile the whole client from public source and confirm the artifact matches the live version byte for byte — proving “the code you audited is the code you ran.” Full steps in the independent verification guide
Most platforms stop at level 1. Level 3 is the trust inflection point: from there on, you no longer need to believe a single word the platform says.
What each level shuts down
- Level 2 shuts down: after-the-fact record tampering, forged shuffle order, impersonated actions
- Level 3 shuts down: a lying interface (a “passed” badge with no real check behind it)
- Level 4 shuts down: the bait-and-switch of live code differing from public code
The hands-on path (using Fair Poker as the example)
- Play a hand and watch the fairness check card in the corner — that is level 2 working in real time
- After the hand, export the transcript and re-verify it with the public verifier per the independent verification guide — that is level 3
- If you have the technical skills, walk level 4 via the reproducible-build steps in the guide; if not, you can rely on any third party who has — because as soon as one person reproduces the build and publishes the result, any switch would be exposed
Why “can be verified” beats “was verified”
In practice most players will never run a verifier themselves — and that is fine. The value of verifiability is deterrence: when a platform knows any hand might be re-verified by anyone at any time, the expected cost of cheating becomes unbounded. Like the security camera at a shop entrance: what prevents theft is not someone watching the tapes daily, but the fact that the tapes can always be watched. For the theory, see what provably fair poker means.