Provably fair
Every case open, upgrade and battle round comes down to a roll. Neither side can pick it: we commit to our seed first, and the client seed is yours. This page explains the mechanics and lets you check any roll.
Before your first roll, the server generates a secret seed and publishes its SHA-256 hash. If the seed were ever swapped, the hash would no longer match.
Each roll is HMAC-SHA256 over three inputs: the server seed, your client seed and a counting nonce. We committed to our seed before your bet. The client seed is yours to set.
To see your server seed, rotate it on the Profile page. Battle seeds are revealed automatically when the battle ends. Compare the seed against the published hash, then recompute any roll below.
- Cases: the roll falls into one of the drop intervals. Odds per item are on the case page.
- Upgrades: you win if the roll is below the displayed win chance.
- Battles: all rounds use a single committed server seed plus a combined seed built from every player's snapshot.
This link carries no bet data. Paste your seeds manually.
Verifying case open โ ยท nonce
This roll's server seed is not revealed yet. The commitment hash below is all that is public. Rotate your seed on the Profile page (or wait for the battle to finish), then come back with the revealed seed to check the roll.
A battle uses a single server seed for every round: committed when the battle is created, revealed once it ends. The client seed is combined โ take every participant's seed snapshot in seat order, join them with ":", and hash the result with SHA-256. For round R and seat i, the nonce is (R - 1) * players + i, counting active seats from 1. To verify: enter both seeds, player count, and round count โ the grid recomputes every roll, plus the tie-break roll that would pick the winner if the battle tied. Optional cross-checks (commitment hash, seed snapshots) are at the bottom.
Common questions
What if I lose connection mid-spin?
Your result is decided the moment you click โ the spin is just the animation. Lose connection mid-spin and the item is still yours. It is already in your inventory when you come back.
Can you pick a server seed that favors the house?
No. The commitment locks our seed before your first roll. You pick the client seed, and you can change it after seeing our hash. The result depends on both.
Why does the seed hash stay the same across my rolls?
One server seed covers your whole session, so we committed to it before your first roll. Each roll also carries its number, the nonce, so results cannot be reordered or reused. The reveal has to hash back to the same commitment, and you can check that on this page.
What does rotating my seed do?
If you want to audit your session, rotate the seed on your Profile page. Rotation is free and instant: it reveals the seed you were playing on, and every past roll becomes checkable. New rolls start on a fresh committed seed at nonce 0.
Where do my seeds live?
Your client seed and the current commitment hash are on your Profile page. You can edit the client seed there at any time. Revealed server seeds appear on your History rows once you rotate.
When do battle seeds reveal?
Automatically, the moment the battle finishes. The revealed seed and every player's snapshot are on the battle page.
How do I know this page runs the code I am reading?
Copy /provably_fair.js and run the math anywhere. It is one plain file with no build step, and HMAC-SHA256 exists in every language. The page runs this exact file.