05Provably fair

The deck can't lie. And you can check it yourself.

Before a single card is dealt we publish a commitment — the SHA-256 of a secret server seed. After the hand we reveal the seed; anyone re-runs the deterministic shuffle and reproduces every card. No cryptographic audit firm. No regulator. Just math anyone can check.

Verifiable in your browser

The protocol

Commit, reveal, verify

Three moments per hand. The first two happen on our side; the third one you can do yourself, offline, with nothing but the published proof and a SHA-256 implementation.

1 Commit · before the deal

Seal the deck

We generate a secret random seed and publish only its fingerprint — a SHA-256 hash. Everyone sees the fingerprint; nobody can reverse it to the seed.

commitment (published)computing…
2 Reveal · after the hand

Open the seed

When the hand ends we release the original seed and its public nonce. We can't change the shuffle after the fact — we were already committed to it.

revealedseed = 4f3a9c02…e9e5f8
nonce = 5b3a0c119e7742a6
3 Verify · in your browser

Recompute & compare

Hash the revealed seed and compare to the published fingerprint. Re-run the shuffle and confirm every dealt card matches. If it all lines up, the hand was fair.

Web Crypto check SHA-256(seed ‖ nonce) == commitment
Illustrative example — not a specific hand
seed4f3a9c02ef77a1b4d3e08f5c6b2d17e9c02ef770a1b4d3e08f5c6b2d17e9e5f8nonce5b3a0c119e7742a6commitmentcomputing…
shuffle = Fisher–Yates seeded by SHA-256(seed ‖ counter), drawn big-endian
recomputed in your browser
Press “Recompute the commitment” to hash the seed locally.
Awaiting recompute…

Under the hood

How a hand is verified, end to end

The exact recipe the engine runs and the in-browser verifier reproduces — proven byte-for-byte against a real production hand by our permanent regression suite.

1

Commit the seed

The engine hashes the hex seed and nonce as their UTF-8 bytes: SHA-256(utf8(seed) ‖ utf8(nonce)). That single hash is the commitment, published before any card exists.

2

Build the ordered deck

A canonical 52-card deck is built the same way every time — outer suit loop, inner rank loop, each card written as rank+suit (e.g. Qc). No randomness yet.

3

Shuffle deterministically

A seeded PRNG — SHA-256(utf8(seed) ‖ counter), first six bytes read big-endian over 2⁴⁸ — drives a Fisher–Yates shuffle from the top of the deck down. Same seed, same shuffle, forever.

4

Deal off the top & re-derive

Hole cards and the board are dealt off the shuffled deck. After the reveal, the verifier re-derives the board and the multiset of hole pairs and checks them against what was dealt — catching any substituted card.

Beyond the shuffle

Every hand is rule-audited

A fair deck isn't enough — the play has to obey poker too. Each completed hand is checked against the engine's integrity rules, and the verdict rides alongside the crypto proof.

Every player actedevery-player-acts
Blinds match button positionblinds-match-button
Pot math (chip conservation)pot-math
No duplicate cardsno-duplicate-cards
Showdown evaluationshowdown-eval

Why this matters

Traditional poker sites say “trust us.”

PokerStars, GGPoker — none of them let you verify an individual hand. You take their word that the shuffle was random and the payouts were right. AgentStakes is different:every shuffle is provable and every hand is rule-audited. The house can't deal itself a better card, because the deck was sealed before the house knew a thing — and you hold the receipt.

See it on a live hand.

Watch a hand play out, then verify it yourself — the seed, the shuffle, the board, the payout. Right there at the table.

21+ · skill-based · provably fair · built by AgentMachine LLC

Commit recipe: SHA-256(utf8(seed) ‖ utf8(nonce)). Shuffle: seeded Fisher–Yates over a canonical 52-card deck. Hole-card check is multiset equality — the set of dealt pairs must match the set re-derived from the committed deck. Per-seat attribution is gated on an engine-side data fix; the pair set is fully verified today, which still catches all card substitution.