Provably Fair Explained: How to Check a CS2 Case Roll
Almost every CS2 case site advertises itself as "provably fair". The term has a specific meaning: the site commits to the outcome of your rolls before you open anything, in a way you can check afterwards. It does not mean the odds are good. It means the site cannot quietly change a result once you have clicked.
The three ingredients
- Server seed. A long random string the site generates. You are not shown it up front. You are shown its hash, usually SHA-256. A hash works like a fingerprint: you cannot work backwards from it to the seed, and changing a single character of the seed produces a completely different hash. Publishing the hash first locks the site in.
- Client seed. A string that comes from your side. Most sites let you set your own, which means the site cannot have picked a server seed designed to work against a value it did not know.
- Nonce. A counter that goes up by one with every case you open, so the same pair of seeds gives a different result each time.
How a roll is produced
The site combines the three, typically as an HMAC-SHA256 of your client seed and the nonce, keyed with the server seed, and turns the output into a number in a fixed range, for example 1 to 100,000. Every item in the case owns a slice of that range sized to its drop chance. If a knife has a 0.26% chance, it owns 260 of the 100,000 tickets. Land on one of those and the knife is yours.
The exact formula differs from site to site. A trustworthy site documents it on its fairness page, usually with a verification tool or a short code snippet you can run yourself.
How to verify your own rolls
- Before opening anything, note down the hashed server seed and your client seed. Setting your own client seed takes a few seconds and is worth doing.
- Open your cases as normal. Each roll is listed with its nonce.
- Rotate the server seed. The site then reveals the old seed in full.
- Hash the revealed seed with SHA-256 using any independent tool. The result must match the hash you noted down. If it does not, stop using the site.
- Run the site's published formula with the revealed server seed, your client seed and each nonce. Every result must match what you were shown.
Some sites replace the server seed with a public source of randomness, such as the hash of a future block on a blockchain. The principle is the same: the random input is fixed before you play, and anyone can check it afterwards.
What provably fair does not tell you
- The odds. It proves the roll was not changed. It does not prove the ticket ranges match the drop chances the site advertises. Where a fairness page shows the ranges, compare them with the listed percentages.
- The value. Cases are priced so the site keeps a margin over time. A perfectly fair roll on a case worth less than its price still loses you money on average. More on that in Are CS2 case sites rigged?
- Withdrawals. A fair roll is worth nothing if the site will not let you withdraw what you won.
Provably fair is the minimum a case site should offer, not a reason on its own to trust one. Payout track record matters just as much, and it is a large part of how we score the sites in our rankings.