Provably fair, mathematically

Every game on snake.gg (including every game vibe-coded by the community) runs on the same server-enforced fairness engine. Game code can render outcomes, but it can never decide them.

1. We commit first

Before you place a single bet, we generate a secret server seed and show you its SHA-256 hash. The seed is locked in. We can't change it without changing the hash you already saw.

2. You control your seed

Every outcome mixes our server seed with YOUR client seed (chosen when you rotate between rounds) and a bet counter (nonce). We can't pick outcomes, because your seed is in the recipe.

3. Outcomes are pure math

bytes = HMAC_SHA256(serverSeed, clientSeed:nonce:round). Those bytes become uniform numbers between 0 and 1, which map to your roll, crash point, mine layout or reel stop. No human, no AI, no rigging.

4. Reveal & verify

Rotate between rounds and we reveal the old server seed. Rotation waits while a Mines, Hi-Lo, or Crash round is open so future actions cannot be previewed. Re-compute past bets on the Verify page or in your own code.

The house edge, in the open

Every game pays back 94% over the long run (a 6% house edge), and the fairness engine enforces it. When a creator vibe-codes a game, their paytable is normalized server-side into that window before the game can ever take a bet. The random numbers themselves are never biased: the edge lives only in the published payout multipliers, which you can inspect on every game page.