Trust & Verification

Provably Fair Systems

We use industry-standard cryptographic algorithms to guarantee that every single spin, roll, and card deal is 100% random and completely tamper-proof. You don't need to trust us—you can verify the math yourself.

1. The Server Seed
A cryptographically secure random string generated by our server. Before you place a bet, we commit to this seed by showing you its SHA-256 hash. The actual unhashed seed remains hidden so you cannot predict outcomes.
2. The Client Seed
A random string customizable by you (the player). It is sent from your browser to ensure the server cannot manipulate the outcome in its favor after seeing your bet parameters.
3. The Nonce
An incremental number starting at 0 that tracks the number of bets you've made with the current seed pair. This guarantees a unique cryptographic message is generated for every single round.
How Outcomes are Derived
The exact mathematical pipeline used to transform seeds into provably fair game results.
Key
Server Seed
Combined With
Message
Client Seed : Nonce
HMAC-SHA256
crypto.createHmac("sha256", serverSeed).update(`${clientSeed}:${nonce}`).digest("hex")
Produces 64-character Signature
1. Float Conversion

We take the first 13 characters of the signature and convert them to a hexadecimal integer. This integer is then divided by 2^52 (0x10000000000000) to yield a uniform floating-point value between 0 and 1.

2. Scale Outcome

To compute the game outcome (e.g. for Dice), this float is multiplied by 100 to produce a final value between 0.00 and 99.99.

Automatic Seed Rotation

To ensure that we cannot change outcomes retroactively, the server seed remains hidden while active.

Our system rotates seeds automatically every 10 game rounds globally.

Once rotated, the old server seed is permanently marked as revealed, exposing the raw unhashed seed key. At this point, the cryptographic proof for all rounds played under that seed can be verified instantly.

Python Verification Code
import hmac
import hashlib

server_seed = "YOUR_REVEALED_SERVER_SEED"
client_seed = "YOUR_CLIENT_SEED"
nonce = "YOUR_NONCE"

# Combine seeds and nonce
msg = f"{client_seed}:{nonce}".encode()
key = server_seed.encode()

# Compute HMAC signature
sig = hmac.new(key, msg, hashlib.sha256).hexdigest()

# Convert first 13 hex characters to float
num = int(sig[:13], 16)
den = 0x10000000000000
roll_value = (num / den) * 100

print(f"Roll: {roll_value:.2f}")
Important Security Notice

Never share your active client seed settings if you plan to play with high stakes, as it forms part of the random entropy. For absolute transparency, feel free to rotate your client seed regularly in your settings to randomize your games further.