Provably Fair Gaming
Every roll on DiceChain is cryptographically verifiable. Our provably fair system ensures complete transparency, allowing you to verify that each result is random and unmanipulated.
1. Server Seed Generation
Before you place any bets, our server generates a random seed and shows you its SHA-256 hash. This commitment ensures the seed cannot be changed after you see the hash.
2. Client Seed Input
You provide your own client seed, which you can change at any time. This seed is combined with the server seed to generate results, ensuring you have influence over the outcome.
3. Nonce Increment
Each bet increments a nonce value, creating a unique combination for every roll. This prevents the same result from occurring twice with identical seeds.
4. Result Verification
After each bet, the original server seed is revealed. You can use our verifier or any third-party tool to confirm the roll was fair using the formula: HMAC_SHA256(serverSeed, clientSeed:nonce) mod 100 + 1
The SHA-256 hash of the server seed, revealed after each bet
Your personal seed that you can customize before betting
Increments with each bet to ensure unique results
Transparent Algorithm
Our provably fair algorithm is open source and can be audited by anyone.
Instant Verification
Verify any roll instantly using the tools provided on this page.
Cryptographic Security
SHA-256 hashing ensures results cannot be predicted or manipulated.
User Control
Customize your client seed to have direct influence over roll outcomes.
// Provably Fair Algorithm
// 1. Generate server seed (kept secret until bet is placed)
serverSeed = crypto.randomBytes(32).toString('hex')
// 2. Show hash commitment to user
serverSeedHash = SHA256(serverSeed)
// 3. User provides client seed
clientSeed = "user_provided_value"
// 4. On each bet, increment nonce
nonce = previousNonce + 1
// 5. Calculate roll result
combined = serverSeed + ":" + clientSeed + ":" + nonce
hash = HMAC_SHA256(combined)
rollResult = (parseInt(hash.slice(0, 8), 16) % 100) + 1
// 6. After bet, reveal serverSeed for verification
// User can independently verify using the same formulaThis algorithm ensures that neither the house nor the player can predict or manipulate the outcome. The server seed commitment proves the result was determined before you bet, while your client seed ensures you have influence over the outcome.