Skip to main content

What Provably Fair System do you use in Mines?

Written by Sylvia

Mines uses a Provably Fair system to ensure that every mine layout is transparent, independently verifiable, and cannot be altered after betting begins.

Each Mines round is generated using three values:

Server seed — generated by the server and committed before the round by displaying its SHA-256 hash.

Client seed — your unique client seed.

Nonce — an incrementing value that ensures every round generates a unique result.

Because you receive the hashed server seed before placing your bet, the server cannot change the mine layout afterward without invalidating the previously displayed hash.

The Mines layout is generated using HMAC-SHA256 outputs and a Fisher-Yates shuffle process:

For each tile position, the system generates a random value using:

float(i) = uint32(HMAC_SHA256(serverSeed, clientSeed:nonce:i)[0..8]) / 2^32

These generated values are used to perform a Fisher-Yates shuffle of the available tile positions:

[0..24]

The first N positions from the shuffled result are selected as mines, where N is the number of mines chosen for the round.

After the server seed is revealed (when the seed pair is rotated), you can verify previous Mines rounds in the Verify tab. By using the revealed server seed, client seed, and nonce, you can reproduce the mine layout and confirm that the result was generated fairly.

This system ensures that every Mines round is random, transparent, and cannot be manipulated by either the player or the casino after the server seed has been committed.

Did this answer your question?