05Provably fair
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 browserThe protocol
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.
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.
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.
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.
Under the hood
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.
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.
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.
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.
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
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.
Why this matters
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.
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.