Provably fair
Provably fair is the system Roat Pkz uses to decide the result of every gambling game. Each result is worked out from seeds (short strings of letters and numbers) that are fixed before the game starts. After the game you can see every seed and check the result yourself, so nobody, not even the server, can change the outcome once you have placed your bet.
It was added in the July 2025 update and works in every gambling game: Flower Poker, Boxing, Dice, Mines and Blackjack.
How it works
Every result comes from three pieces:
| Piece | What it is | Who controls it |
|---|---|---|
| Client seed | A seed of 1 to 16 characters. | You. You can type your own or roll a new random one. |
| Server seed | A secret random seed of 16 characters made by the server. | The server. It stays hidden until you reveal it or the game ends. |
| Nonce | The game number. It goes up by 1 every game or hand you play with the same server seed. | Counted automatically. Only used in the house games. |
Before you play, the game shows you the hashed server seed: a SHA-256 hash of the secret server seed. A hash works one way only. You cannot work out the server seed from it, but once the server seed is revealed anyone can hash it again and check that it matches. This proves the server seed was chosen before your game and was never swapped.
Your result is then worked out from your client seed, the server seed and the nonce. Because you pick the client seed yourself, the server cannot know the result in advance either.
Seeds in each game
| Game | Seeds used | When the server seed is revealed |
|---|---|---|
| Flower Poker and Boxing | Both players' client seeds and one server seed for that game. | When the game ends. |
| Dice, Mines and Blackjack | Your client seed, your own server seed and the nonce. | When you choose to reveal it. Your server seed then changes to a new one. |
Player vs player games
In Flower Poker and Boxing each player has a client seed, and the game has one server seed.
- You can change your client seed in the first or second gambling screen, before the game starts. Changing it resets both players' accept buttons, and your opponent gets a message with your new seed.
- You can click your opponent's seed to see it, and click the hashed server seed to see the full hash.
- The server seed is only revealed once the game is over. You can see it on the win or loss screen afterwards.
House games
In Dice, Mines and Blackjack you play against the game, using your own seeds.
- The nonce starts at 0 and goes up by 1 with every roll, game or hand. The interface shows it as Game Number (nonce) or Hand Number (nonce).
- The same server seed is used for many games in a row. This is safe because the nonce changes every time, so every game still gets a different result.
- To check your past games, reveal your server seed. You can reveal the current one, or reveal it and generate a new random one in the same step. After a server seed has been revealed, it is never used again: the next game uses a new seed.
- You must finish your current game first, and only the player who played the games can reveal their seed. Spectators can see the seeds but cannot change them.
Verifying a game

- Click the green lock in the gambling interface, or on the win or loss screen.
- Choose to verify the game. The chat shows your client seed, the server seed (and your opponent's seed or the nonce) and the full hashed server seed.
- A verification page opens in your browser with these values already filled in. It recomputes the result from the seeds so you can compare it with what happened in game.
You can also check it yourself: hash the revealed server seed with any SHA-256 tool and compare it with the hashed server seed you saw before the game.
Changing your client seed
Click your client seed in the interface, then choose:
- Change Client Seed Manually: type a new seed of 1 to 16 characters. Letters, numbers and hyphens are allowed; spaces are turned into hyphens.
- Generate New Random Client Seed: the game picks a random 16-character seed for you.
Changing your client seed is optional. The system is fair with the random seed you are given, but setting your own seed means you know for sure the server could not have picked it.
Open source
The code that turns seeds into results is open source, so anyone can read it and check how each game works: github.com/roatpkz/rsps-provably-fair.
For example, a Dice roll takes the SHA-256 hash of client seed:server seed:nonce, reads its first 4 bytes as a number, and turns that into a roll between 0.00 and 100.00.
See also
| Games | |
|---|---|
| Other | |