Sign in Register

How our fairness works

Every result is a function of two seeds and a counter. Nothing else touches it.

The commitment

Before you place a single bet we generate a random 32-byte server seed and publish its SHA-256 hash to you. We cannot change the seed afterwards without the hash changing, and you already have the hash — so the outcome of every bet on that pair is locked in before you make it.

serverSeedHash = SHA-256(serverSeed)

The outcome

Each bet consumes a stream of bytes derived from the server seed, your own editable client seed, and a nonce that increments once per bet:

bytes = HMAC_SHA256(key = serverSeed, msg = "clientSeed:nonce:cursor")

Bytes are consumed four at a time and folded into a float in [0,1):

f = b0/256 + b1/256² + b2/256³ + b3/256⁴

Each game maps those floats onto its own outcome — a dice roll, a shuffled mine board, a Plinko path, a Chicken Road lane. The mapping is published in includes/engine.php and never varies by player, balance or time of day.

The reveal

Rotate your seed at any time from Provably fair. That publishes the server seed permanently and starts a fresh pair at nonce 0. With the revealed seed you can:

  • Check that SHA-256 of the revealed seed matches the hash we showed you before you played.
  • Re-run every bet on that pair, nonce by nonce, and confirm the result we paid.
Open the verifier

What we removed

House bankroll poolremoved
Forced-loss percentageremoved
Per-player RTP tuningremoved
Bonus wagering requirementsremoved
House edgea flat 1%, in the paytables

The old build decided outcomes partly from a shared bankroll and a tunable forced-loss rate. None of that exists here — the maths above is the whole story.

Return to player

Every game
99.00%
1% house edge, identical for all players
Chicken Road 99.00%
Mines 99.00%
Crash 99.00%
Dice 99.00%
Plinko 99.00%
WinGo 99.00%
Limbo 99.00%
Tower 99.00%
Keno 99.00%
Wheel 99.00%
Blackjack 99.00%
Coin Flip 99.00%
Case Battle 99.00%

Verify it yourself

Any language with an HMAC library reproduces our numbers. In PHP:

$mac = hash_hmac('sha256', "$clientSeed:$nonce:0", $serverSeed, true); $b = unpack('C*', $mac); $f = $b[1]/256 + $b[2]/65536 + $b[3]/16777216 + $b[4]/4294967296;

For dice, the roll is floor(f * 10001) / 100.