Server-authoritative · virtual credits
The server generates the seed, publishes only sha256(seed), resolves the whole battle at start, streams one round at a time, and reveals the seed at settlement. This page holds no seed and computes no outcome — the reels are playback.
The seed hash proves the roll was not tampered with. The config hash proves the odds, rake and format were fixed before play — without it, a site can publish honest rolls against a weight table it quietly edited. Both are shown in the lobby before anyone pays.
The client seed is sha256(lobbyId | seat0seed | seat1seed | …), so no single participant controls it. Bot seat seeds are sha256(serverSeed:bot:N) — derived from the seed the house already committed to, so the house cannot pick favourable bot seeds after the fact.
House bots pay entry from the house float, so a bot-filled lobby makes the house your counterparty rather than a neutral rake-taker. A winning bot seat's share returns to the float. The house's net on each battle is shown after settlement — it is frequently negative, and only the rake is positive in expectation.
Filling your own side with bots does not change your expected value: payout per winning seat is always the pot minus rake divided by the winning seats, which for symmetric formats is 1.9× your entry regardless of team size. It does change who your winnings are split with.
In-memory state (restart wipes everything), no auth, no rate limiting, no persistence, no reconnect recovery, and no age or identity checks. Balances are made-up credits.