18+ Gamble responsibly. Get help
Free tools: Simulator · Verifier · Calculator
Plinko Blog

Provably Fair Plinko: The Complete Seed Lifecycle

Provably fair plinko replaces "trust our certificate" with "recompute it yourself." Every drop is derived from a server seed the casino sealed before you bet, a client seed you control, and a bet counter, all fed through HMAC-SHA256. This deep dive walks the full lifecycle, from commitment hash to verified drop, one stage at a time.

The Seed Lifecycle at a Glance
Stage 1: Commit Casino publishes SHA-256(serverSeed) before any bet
Stage 2: Play Each drop consumes HMAC-SHA256(serverSeed, clientSeed:nonce:cursor)
Stage 3: Rotate You request a new seed pair whenever you choose
Stage 4: Reveal The old server seed is published in plain text
Stage 5: Verify Hash-check the reveal, then recompute any past drop
Trust required None: every stage is checkable in your own browser

Stage 1: How Does the Casino Commit to a Seed?

Before your first drop, the casino generates a secret server seed and publishes its SHA-256 hash in the fairness panel. The hash pins the casino to that exact seed: any later substitution would fail the comparison when the seed is revealed.

The lifecycle starts before you wager anything. The casino generates a long random server seed, keeps it secret, and shows you its SHA-256 hash. That hash is the commitment, and it has two properties that carry the whole scheme:

  • It is binding. SHA-256 is collision-resistant in practice, so the casino cannot later produce a different seed that hashes to the same value. The fingerprint you saw locks in one specific secret.
  • It is hiding. The hash reveals nothing usable about the seed itself. You cannot predict outcomes from it, and neither can anyone else.

At the same time you get a client seed, which you should edit to a string of your own choosing at least once. That single act is what breaks any possibility of a precomputed script: the casino sealed its seed before learning yours, so it cannot have tailored the sealed seed to the inputs you had not chosen yet.

Stage 2: How Is Each Drop Derived While You Play?

Each bet computes HMAC-SHA256 keyed with the server seed over the message clientSeed:nonce:cursor. The output bytes are grouped four at a time into floats between 0 and 1, and floor(float times 2) decides left or right at each row.

During play, every drop is a deterministic function of three inputs, one of which increments automatically. The construction, shared by all four casinos we review:

  1. Build the message. Concatenate clientSeed:nonce:cursor. The nonce is your bet counter, starting at 0 and rising by one per bet, so no two drops under a seed pair share a message. The cursor pages through additional output blocks when a game needs more randomness than one HMAC round provides.
  2. Run the HMAC. Compute HMAC-SHA256(serverSeed, message), with the server seed as the key. The output is 32 bytes that neither party could have predicted alone.
  3. Bytes to floats. Consume the bytes in groups of four; each group combines into a single float in [0, 1).
  4. Floats to bounces. For each row, take floor(float * 2): 0 sends the ball left, 1 sends it right. A 16-row drop consumes 16 floats, and the count of rights is the final bin.

Note the division of power. The casino controls the key but committed to it blind. You control the client seed. Neither side controls the nonce sequence. The animation that follows is a replay of an already-decided path, which is exactly why is plinko rigged answers the way it does.

Stages 3 and 4: What Happens at Rotation and Reveal?

Rotating asks the casino for a fresh seed pair. The moment the new pair is active, the retired server seed is revealed in plain text, making every drop played under it recomputable. Unrevealed seeds cannot be checked yet, by design.

The server seed must stay secret while active, because a player who knew it could compute results before betting and only wager on winners. So verification is deferred by design: you can only audit drops made under a seed that has since been retired.

Rotation is the retirement trigger, and you control it. In the fairness panel, request a new seed pair whenever you like: after a session, after a suspicious streak, or every day out of habit. Two things happen at once:

  • Future drops switch to the new pair, with the new commitment hash displayed and the nonce reset to 0.
  • The outgoing server seed is revealed in plain text, next to the hash you were shown when it was active.

That reveal is the moment the casino's past becomes auditable. Everything it paid you under the old seed is now recomputable by anyone holding the revealed seed, your client seed, and the nonce list, which your bet history provides. A casino that cheated even once under that seed has handed you durable mathematical proof. Practical rhythm: rotate at the end of any session you care about, spot-check a few drops, and move on.

Stage 5: How Do You Verify a Drop in Practice?

Paste the revealed server seed into a verifier and confirm its SHA-256 hash matches the earlier commitment. Then enter your client seed, the nonce, rows, and risk: the verifier recomputes the path and bin, which must match your bet history.

Our provably fair verifier runs the whole pipeline client-side in your browser; nothing you paste leaves the page. The walkthrough:

  1. Hash check. Paste the revealed server seed. The tool computes its SHA-256 hash and compares it against the commitment hash you played under. A match proves the seed was fixed before your first drop; a mismatch is proof of tampering, and you should publish it.
  2. Recompute. Enter your client seed, the nonce of the bet you want to audit, and the board settings (rows and risk). The verifier derives the HMAC bytes, converts them to floats, maps each to a left or right bounce, and draws the resulting path on a mini board with the final bin and multiplier.
  3. Compare. Set the result beside your bet history. Bin and payout must match exactly. Check a handful of drops per rotation; because any drop can be audited, cheating on even one is irrational for the operator.

If you want to rehearse the loop with zero stakes, the plinko simulator has a seeded mode running the identical engine, so you can generate drops from seeds you invent and verify them in the same tool.

How Is This Different From RNG-Certified Casinos?

Certificate-based casinos have a lab test their RNG periodically and ask you to trust the result. Provably fair casinos make every individual outcome recomputable by the player. One is an audit you read about; the other is an audit you perform.

Traditional online casinos answer the fairness question with paperwork: an accredited lab tests the operator's random number generator, issues a certificate, and the casino displays the badge. That model has real value, but it asks you to trust a chain you cannot inspect: that the certificate is current, that the tested build is the deployed build, and that nothing changed since the audit window.

Provable fairness collapses that chain to zero links. You do not trust that the RNG was random in general last quarter; you recompute whether your specific drop was honest, today, from inputs partly chosen by you. The properties differ sharply:

  • Scope: a certificate covers the generator statistically; seed verification covers each individual outcome exactly.
  • Who audits: a lab you must trust, versus you, with open-source math.
  • When: periodically and in the past, versus any time after seed reveal.
  • Failure visibility: a rigged certified casino requires whistleblowers to expose; a rigged provably fair casino manufactures its own evidence.

The two are not mutually exclusive, and the strongest operators offer both. But for a game as simple as plinko, where the entire outcome is one HMAC chain, we treat working seed verification as the minimum bar: every site in our best crypto plinko sites rankings had its implementation seed-checked by us before listing. What verification never changes is the economics: the drops are honest and the house edge is still 1%, as derived in plinko RTP explained.

Frequently Asked Questions

Why can I not verify a drop immediately after making it? +
Because the server seed must stay secret while active; a player who knew it could precompute outcomes and bet only on winners. Verification unlocks at rotation, when the casino reveals the retired seed. Rotate whenever you want to audit recent play.
Does changing my client seed improve my odds? +
No. Any client seed produces the same 50/50 per-row distribution and the same 99% RTP. Setting your own seed matters for a different reason: it proves the casino could not have precomputed results, since your input entered after the commitment.
What should I do if a verification fails? +
First rule out entry errors: the wrong nonce, seed, or board settings cause most mismatches. If the inputs are confirmed and the hash or path still fails, screenshot everything, export your bet history, and publish the discrepancy; the math is checkable by anyone and cannot be argued away.

Audit a real drop end to end

Run the full lifecycle yourself: hash-check a revealed server seed, recompute the path, and compare it against your bet history. Everything happens in your browser.

Open the Provably Fair Verifier
Open the Provably Fair Verifier →