Loading
Getting things ready for you…
Getting things ready for you…
Verify provably fair games using cryptographic hashing. Before each game starts, a random seed is generated and its SHA-256 hash is committed. After the game ends, the revealed seed is hashed locally to verify it matches the original commitment, proving the outcome was predetermined and not manipulated. The seed then deterministically generates each row's crash tile using cryptographic functions you can verify independently.
v2 games commit their death-tile counts in the hash and derive every row with the multi-death algorithm. Older games use v1.
Comma-separated tile counts per row (e.g., 3,4,5,6)
Comma-separated death tile counts per row for multi-death games like Cut the Wire (e.g., 2,2,3,3). Leave empty for single-death games (v2 treats empty as one death tile per row).
All game outcomes are generated using these deterministic algorithms. You can verify any game by running these functions locally.
Legacy (v1) derivation: generates the crash position for a specific row based on seed
function getDeathTileIndex(seed, rowIndex, totalTiles) {
// Create unique string for this row
const hashSource = `${seed}-row-${rowIndex}`;
// Generate SHA-256 hash
const hash = crypto.createHash('sha256').update(hashSource).digest('hex');
// Convert first 8 hex characters to number
const numericHash = parseInt(hash.slice(0, 8), 16);
// Use modulo to get position 0 to totalTiles-1
return numericHash % totalTiles;
}