Provably Fair
Every Aurum game outcome is determined before you play and can be independently verified using cryptographic hashing. We cannot manipulate results — and you can prove it. All payouts are in AU, Aurum's virtual gaming currency.
How It Works
Before each game, our server generates a random server seed and sends you its SHA-256 hash. You provide a client seed. The outcome is derived from combining both seeds — since we commit to our seed hash before you provide yours, we cannot manipulate the result.
After the game, we reveal the full server seed. You can verify at any time that sha256(serverSeed) === serverSeedHash and that the outcome matches the derivation formula.
Crash
The crash point is derived from the combined seed hash using:
hash = sha256(serverSeed + ":" + clientSeed + ":" + sessionId) h = parseInt(hash.slice(0, 8), 16) // 1% of hashes crash instantly at 1× if (h % 100 === 0) crashPoint = 1.00 // Otherwise: r = h / 0xFFFFFFFF crashPoint = floor((100 / (1 - r)) × 0.95 / 100 × 100) / 100 crashPoint = max(1.00, crashPoint)
Paste your server seed, client seed, and session ID into any SHA-256 tool to verify your crash point independently.
Mines
Mine positions are generated using a seeded Fisher-Yates shuffle of all 25 cells:
hash = sha256(serverSeed + ":" + clientSeed + ":" + sessionId) cells = [0, 1, 2, ..., 24] // Seeded shuffle — first N positions are mines for i from 24 downto 0: j = bytes_to_int(hash, i) % (i + 1) swap(cells[i], cells[j])
The multiplier at each safe reveal is: ∏((25−i) / (25−mines−i)) × 0.95
Plinko
Each ball's path through the peg board is determined by generating one bit per row from the seed hash:
hash = sha256(serverSeed + ":" + clientSeed + ":" + sessionId) // For each row: byte = hash[rowIndex] direction = byte % 2 // 0 = left, 1 = right bucketIndex += direction
The final bucket index determines your multiplier from the published table for your chosen rows and risk level.
High / Low
Each card in the sequence is drawn from a seeded deck shuffle:
hash = sha256(serverSeed + ":" + clientSeed + ":" + sessionId + ":" + roundIndex) deck = standard 52-card deck cardIndex = parseInt(hash.slice(0, 8), 16) % 52 card = deck[cardIndex]
Streak multipliers compound at approximately 1.84× per correct prediction (7/13 win probability × 95% RTP).
Verify Yourself
After any game, expand the Provably Fair section at the bottom of the result screen. You'll see:
- Server seed hash (shown before game starts)
- Server seed revealed (shown after game ends)
- Your client seed
- Session ID
Use any SHA-256 calculator (e.g. emn178.github.io) to verify that sha256(serverSeed) === serverSeedHash, then apply the formula above to confirm your result.