Loading...
Last updated: March 18, 2026
At Midnight Riches, we believe trust is earned through transparency. Our Provably Fair system uses cryptographic algorithms to ensure that every single game outcome is genuinely random, tamper-proof, and independently verifiable by you. Neither the house nor the player can manipulate the outcome after a bet is placed.
Provably fair is a cryptographic framework that allows players to independently verify that game outcomes were determined fairly and were not manipulated by the operator. Unlike traditional casinos where you must trust the house, provably fair gaming provides mathematical proof that every result is legitimate.
The system works by combining inputs from both the server and the player to generate game outcomes. Because the player contributes to the randomness, the server alone cannot predetermine results. And because the server's contribution is committed in advance (via a hash), it cannot be changed after your bet is placed.
Our system relies on three key components that work together to produce verifiable randomness:
A cryptographically random 256-bit value generated by our server using a secure random number generator. Before any game begins, we provide you with a SHA-256 hash of the server seed. This hash acts as a commitment — it proves the server seed was fixed before your bet, but does not reveal the seed itself until after the game round concludes.
A value provided by you, the player. We generate a default client seed for convenience, but you may change it at any time before placing a bet. This ensures the player has direct influence over the randomness of the outcome. The server cannot predict or control your client seed.
A sequential counter that starts at zero and increments by one with each bet placed using the current server seed and client seed pair. The nonce ensures that even with the same seeds, every game round produces a unique outcome.
The game outcome is derived using HMAC-SHA256, a cryptographically secure hash-based message authentication code. Here is how the computation works:
hash = HMAC-SHA256(serverSeed, clientSeed:nonce)
// Example:
serverSeed = "a3f1c9..."
clientSeed = "player_custom_seed"
nonce = 42
hash = HMAC-SHA256("a3f1c9...", "player_custom_seed:42")
// Result: "e7b4a1d9c3f2..." (64 hex characters)The resulting 64-character hexadecimal hash is then converted into the game outcome:
After a game round, you can verify the fairness of the outcome by following these steps:
Tip: You can use any online HMAC-SHA256 calculator or write a simple script to verify outcomes. We also provide a built-in verification tool in your game history that automates this process.
Our random number generator is built on the Web Crypto API (crypto.getRandomValues()), which provides cryptographically secure pseudorandom numbers sourced from the operating system's entropy pool. Key properties include:
In addition to our provably fair system, which allows individual verification, we engage independent third-party auditors to conduct periodic reviews of our platform. These audits cover:
Audit reports are published periodically and available upon request by contacting our support team.
We are committed to full transparency in our operations:
If you have questions about our provably fair system or need assistance verifying a game outcome, our support team is here to help: