Commit
Before play, A Game Area publishes a SHA-256 hash of the secret server seed. That hash commits the system to one seed without revealing it early.
Proof, not promises
Before play, A Game Area publishes a SHA-256 hash of the secret server seed. That hash commits the system to one seed without revealing it early.
The server seed, player-controlled client seed or public seed, and a unique nonce are joined in a fixed order.
After rotation or round completion, the original server seed is revealed. Hash it and compare the result with the earlier commitment.
Run the disclosed formula with the recorded seeds and nonce. Matching inputs must produce the recorded game result.
Shared foundation
The nonce prevents repeated output when a seed pair remains active across multiple bets. Changing your client seed changes future results, while rotating the server seed reveals the old value for verification.
import { createHash, createHmac } from "node:crypto";
const serverSeed = "REVEALED_SERVER_SEED";
const clientSeed = "CLIENT_OR_PUBLIC_SEED";
const nonce = 0;
// Confirm the revealed seed matches the commitment shown before play.
const commitment = createHash("sha256").update(serverSeed).digest("hex");
// A Game Area combines the three recorded round inputs in this order.
const combined = [serverSeed, clientSeed, nonce].join("-");
const salt = createHmac("sha256", combined).digest("hex");
// Example: roulette maps the first 12 hex characters to 15 positions.
const rouletteRoll = Math.abs(parseInt(salt.slice(0, 12), 16)) % 15;
console.log({ commitment, rouletteRoll });Game formulas
The output is one of the 15 roulette positions. The round ID supplies a unique nonce for every spin.
The most significant 52 bits produce the multiplier. The legacy formula applies its disclosed house-edge modifier and never returns below 1.00x.
A future public blockchain block is selected after betting closes, so neither players nor A Game Area know the public input while bets are being committed.
No completed rounds yet.
The revealed server seed can be hashed and compared with the commitment published before the result.
Your client seed changes the deterministic input. The nonce increments for each bet so the same seed pair cannot repeat a result.
The generated ticket selects an item from the case's published probability ranges. Battles apply the same deterministic roll process per participant.
Separate derived salts shuffle the 25 board positions without duplicates. The selected mine count determines how much of that ordered result is used.
A stage-specific salt maps each row to one of three positions, producing a reproducible ten-stage route.
Fairness v2 uses HMAC-SHA256 with the server seed as key and clientSeed:nonce:cursor as the message. Four bytes create each uniform float; zero moves left and one moves right. The move sum selects the slot in the chosen 8-16 row and risk table. Historical fixed-board bets remain labeled v1.