A nonce is the play counter in a provably fair pull: a plain number that ticks up by one every time you open a box on the same pair of seeds. Its whole job is to make each pull different. Your server seed and client seed can stay exactly the same across a long session, but because the nonce changes with every click, the result changes too. That is what lets a site prove a run of openings was fair without handing you a brand new secret before each one. Once you see where the nonce sits in the math, the rest of a fairness check stops feeling mysterious.
The odometer idea
The easiest way to picture a nonce is the odometer in a car. The car does not change, but the number on the dial climbs by one for every trip you take, so no two trips ever share the same reading. A nonce works the same way. Your seeds are the car, fixed for the whole session, and the nonce is the reading that advances one step with every box you open. Nobody has to swap the engine to make a new trip unique. The counter alone does that.
This matters because generating a fresh secret server seed for every single pull would be slow and would make checking a long session painful. The nonce lets a site commit to one server seed, let you play a hundred pulls on it, and still guarantee every one of those pulls is a distinct, verifiable event.
What a nonce actually is
In precise terms, a nonce is a per-play integer counter tied to your current seed pair. It usually begins at 0 or 1, depending on the platform, and increases by exactly one each time you open a box, spin, or upgrade on that pair. It is not secret and not random. You can see it, and often it is just the count of how many pulls you have made since your last seed rotation.
The word comes from cryptography, where a nonce is a "number used once." In a provably fair pull it is used once in the sense that no two pulls on the same seed pair ever share the same nonce. That uniqueness is the point. It is the ingredient that keeps a static pair of seeds from producing the same outcome twice.
How the nonce shapes a box pull
Your outcome is never built from the nonce alone. It comes from three inputs run through a keyed hash:
- The server seed, the site's secret, committed as a hash before you play. The server seed guide covers this piece in full.
- The client seed, your own input, visible and changeable.
- The nonce, the play count that advances by one on every pull.
Those three get combined into one string and run through HMAC, a standard keyed-hash function. The resulting hex is turned into a number that maps to your item. The server seed and client seed set the ground rules for the session, and then the nonce walks you through it one pull at a time. Swap the nonce from 42 to 43 and the hash output is not slightly different, it is completely different, which is exactly why the next pull lands on a different item.
Worked example: one click to the next
Here is a real calculation using one published scheme, so you can watch the nonce do its work. The server seed and client seed are held fixed. Only the nonce moves.
server seed (revealed after): 8f2a1c9e4b7d0a63f5e8c2b1a4d7906e3c8b5f2a1e9d4c7b0a6f3e2d1c8b5a49
client seed: player-chosen-seed
pull with nonce 42
HMAC-SHA256(key = server seed, message = "player-chosen-seed:42")
= 7f7c47d46f21aa75eebcad01075ecec0f30e7e3b093969e75ca4a1e0b6aa286d
first 8 hex characters: 7f7c47d4 -> 2,138,851,284 -> roll 49.7990
pull with nonce 43
HMAC-SHA256(key = server seed, message = "player-chosen-seed:43")
= d0465135674bb716ed96eeaff090253d76030b370c1692ab4870efc63e004b34
first 8 hex characters: d0465135 -> 3,494,269,237 -> roll 81.3573
The only thing that changed between those two pulls was the counter, from 42 to 43. The roll jumped from 49.7990 to 81.3573, a completely unrelated value. That is the behaviour you want. Because the nonce advances predictably but the hash output does not, the site cannot line up a favourable result, and neither can you. Different sites use slightly different recipes, and some join the pieces as client:nonce while others use their own order, but the shape is always the same: three inputs, a hash, a number, an item.
Where the nonce starts, and when it resets
Two details trip people up. The first is the starting value. Some sites number the first pull on a seed pair as nonce 0, others as nonce 1. Neither is more fair than the other, but if you are checking a specific pull you have to use the exact nonce that platform assigns to it, or your recomputed result will not match. The number you enter into a verifier has to be the one the site actually used.
The second is when the counter resets. The nonce climbs only while you stay on the same server seed and client seed. The moment you rotate to a fresh pair, whether you change your client seed yourself or the site cycles the server seed, the counter goes back to its starting value and begins again. That reset is tied to the reveal step: rotating your seed is what forces the site to show the old server seed, which is the moment you can verify the pulls you made on it.
A note on box battles
In a straightforward solo pull, the nonce is just a running count: pull one, pull two, pull three. Multiplayer box battles work a little differently. There, several players open together across a set number of rounds, so a plain single counter is not enough to keep every pull separate. Some sites derive the value from the round number and your seat position instead, so each player in each round still gets a unique input. The mechanic looks more involved, but the goal has not changed: every individual pull needs its own distinct counter so it can be reproduced and checked on its own. If you are verifying a battle, use the exact counter the platform records for your seat and round.
Check the nonce yourself
You do not have to take any of this on trust. Once a server seed is revealed, you can recompute any pull in the session, and the nonce is just one of the fields you enter. The verifier below runs entirely on your own device, and nothing you paste into it is sent anywhere.
- Copy the hashed server seed the site showed you before play.
- Note your client seed and the nonce for the exact pull you want to check.
- After you rotate seeds, copy the revealed server seed.
- Paste it all in. The tool recomputes the outcome for that nonce and confirms the revealed seed matches the fingerprint you saved.
Step 1Where did you play?
Using Ripster box / upgrade: HMAC-SHA256 over clientSeed:noncedetails
HMAC-SHA256 keyed with the server seed over clientSeed:nonce. The first 8 hex characters become a 32-bit integer, divided by 2^32 and multiplied by 100 for a roll in [0, 100). Items are sorted by item ID and selected by cumulative probability: the first item whose cumulative probability is at least the roll wins.
Where to find your numbers on Ripster.gg:
- Before rolling, copy the Server Seed Hash from the Provably Fair modal (also recorded per roll in Account History).
- After the roll, open the Provably Fair modal to copy the Server Seed, Client Seed and Nonce.
- Change your Client Seed anytime in Account Settings; doing so reveals the current Server Seed so all past rolls become verifiable.
Source: Ripster.gg's own fairness page
Step 2Paste your numbers
Runs entirely on your device via your browser's built-in cryptography. Don't take our word for it: open DevTools → Network, click the button, and watch: zero requests.
Runs entirely in your browser. Nothing you paste is sent anywhere.
The short version
A nonce is the play counter that makes each pull unique: it starts at 0 or 1, climbs by one on every open, and resets when you rotate seeds. Fed into the hash alongside the server seed and your client seed, it guarantees pull 43 lands somewhere unrelated to pull 42, even on identical seeds. Knowing which nonce belongs to a pull is the last piece you need to verify it, and the what is provably fair guide ties all three inputs together.