How to Verify Any Hand

Every hand dealt on SPN is provably fair. We commit to a cryptographic hash of our RNG seed before dealing your cards, then reveal the seed after the hand. You can verify independently that the deal was not manipulated — no trust required.

How It Works

1

Before your cards are dealt

Our server generates a random 256-bit seed and computes its SHA-256 hash (the "commitment"). The commitment is saved to your hand record immediately — before a single card is dealt.

2

Cards are dealt

The deck is shuffled using a deterministic Fisher-Yates algorithm seeded with the same random seed. Every card position is determined by that seed — there is no way to change the deck order after the commitment is recorded.

3

After the hand completes

The original seed is revealed in your hand history. You can now verify: SHA-256(revealed seed) must equal the stored commitment. If it matches, the deal was fair.

Step-by-Step Verification

Step 1 — Export your hand history

Log in to your account and go to Profile → Hand History → Export. Download the JSON file. Find the hand you want to verify and locate the rngSeed and rngCommitment fields.

Step 2 — Hash the seed

Run SHA-256 on the revealed seed using any of the methods below. The output must exactly match the rngCommitment value.

macOS / Linux (Terminal)

echo -n "YOUR_RNG_SEED_HERE" | sha256sum

Windows (PowerShell)

$seed = "YOUR_RNG_SEED_HERE"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($seed)
$hash = [System.Security.Cryptography.SHA256]::Create().ComputeHash($bytes)
($hash | ForEach-Object { $_.ToString("x2") }) -join ""

Using our open-source verifier (Node.js)

npx spn-rng-verify --seed YOUR_RNG_SEED_HERE --commitment YOUR_RNG_COMMITMENT_HERE

The spn-rng-verify package is published on npm and has no SPN dependencies — it is a standalone SHA-256 checker you can inspect before running.

Step 3 — Compare

The hash output must exactly match the rngCommitment field in your hand record. If it matches, the deal was fair and the seed was not altered after commitment. If it doesn't match, contact support immediately.

Why This Matters

Traditional online poker rooms ask you to trust their RNG. We don't — because you shouldn't have to. The commitment is recorded before your cards are dealt. There is no mechanism by which the server could change the shuffle after seeing that you're about to bluff, or that your opponent has a strong hand.

Every single hand on SPN is verifiable. We don't sample or audit a subset — the full cryptographic proof is available for every deal, every time.

Want to see the statistical distribution across all hands? We publish daily RNG stats showing observed vs. expected hand frequencies.

View RNG Statistics

Questions about our RNG implementation?

Contact Support