Provably Fair
Verify that every round is fair and unmanipulated
Crash Fairness
Provably Fair is a system allowing players to verify that the site operates legitimately and doesn't tamper game results. It leverages cryptography and third party input to generate random values. At the end of the game, players can verify that the outcome was indeed determined by the original seed and inputs, thus proving that the game was fair.
import { createHmac } from "crypto";
const serverSeed = "REVEALED_SERVER_SEED";
const publicSeed = "MONAD_BLOCK_HASH";
const hmac = createHmac("sha256", serverSeed)
.update(publicSeed).digest("hex");
const h = parseInt(hmac.slice(0, 13), 16);
// 3% instant crash (house edge)
if (h % 33 === 0) return 1.00;
const e = Math.pow(2, 52);
const crashPoint = Math.floor((100 * e - h) / (e - h)) / 100;
console.log("Crash Point:", Math.min(crashPoint, 100));How It Works
Seed Chain Flow
Server Seed Hash
Shown BEFORE round
Public Seed
From Monad blockchain
Crash Point
HMAC-SHA256 derived
Server Seed Revealed
Shown AFTER crash
Server Seed Chain: Before the game starts, the server generates a chain of seeds. Each seed is the SHA-256 hash of the previous one. Seeds are used in reverse order, so revealing any seed proves all future seeds were pre-determined.
Public Seed: Sourced from the Monad blockchain (block hash), ensuring the server cannot manipulate it after players have placed their bets.
Crash Point Formula: The crash point is computed as HMAC_SHA256(serverSeed, publicSeed) -- the first 4 bytes are converted to an integer, then mapped to a multiplier with a 3% house edge. There is a ~3% chance of an instant crash at 1.00x.
The server seed hash is shown before the round begins. The actual server seed is only revealed after the round crashes. This ensures the crash point was determined before any bets were placed and cannot be changed.
Verify a Round
Manual Verification
Paste any server seed and public seed to independently calculate the crash point. No server calls are made -- the calculation runs entirely in your browser.
Recent Rounds
Provably Fair
Verify that every round is fair and unmanipulated
Crash Fairness
Provably Fair is a system allowing players to verify that the site operates legitimately and doesn't tamper game results. It leverages cryptography and third party input to generate random values. At the end of the game, players can verify that the outcome was indeed determined by the original seed and inputs, thus proving that the game was fair.
import { createHmac } from "crypto";
const serverSeed = "REVEALED_SERVER_SEED";
const publicSeed = "MONAD_BLOCK_HASH";
const hmac = createHmac("sha256", serverSeed)
.update(publicSeed).digest("hex");
const h = parseInt(hmac.slice(0, 13), 16);
// 3% instant crash (house edge)
if (h % 33 === 0) return 1.00;
const e = Math.pow(2, 52);
const crashPoint = Math.floor((100 * e - h) / (e - h)) / 100;
console.log("Crash Point:", Math.min(crashPoint, 100));How It Works
Seed Chain Flow
Server Seed Hash
Shown BEFORE round
Public Seed
From Monad blockchain
Crash Point
HMAC-SHA256 derived
Server Seed Revealed
Shown AFTER crash
Server Seed Chain: Before the game starts, the server generates a chain of seeds. Each seed is the SHA-256 hash of the previous one. Seeds are used in reverse order, so revealing any seed proves all future seeds were pre-determined.
Public Seed: Sourced from the Monad blockchain (block hash), ensuring the server cannot manipulate it after players have placed their bets.
Crash Point Formula: The crash point is computed as HMAC_SHA256(serverSeed, publicSeed) -- the first 4 bytes are converted to an integer, then mapped to a multiplier with a 3% house edge. There is a ~3% chance of an instant crash at 1.00x.
The server seed hash is shown before the round begins. The actual server seed is only revealed after the round crashes. This ensures the crash point was determined before any bets were placed and cannot be changed.
Verify a Round
Manual Verification
Paste any server seed and public seed to independently calculate the crash point. No server calls are made -- the calculation runs entirely in your browser.
Recent Rounds
0.00 MON
00:00:0010 MON wagered = 1 ticket. Winner takes all!