What does provably fair mean?
Provably fair means a case opening site gives you a way to check, after the fact, that each result was produced by a fixed process the site could not change once you started playing. The site locks in its secret number before you click, mixes in a number you control, and later shows you everything so you can redo the maths yourself.
It is a real, useful idea borrowed from cryptography. It is also one of the most misunderstood phrases in CS2 case opening. Provably fair is about whether the roll was tampered with. It says nothing about whether the roll was worth taking. A site can be perfectly provably fair and still be built so that players lose most of what they put in, and most sites are.
This guide explains the mechanism, how to verify a roll, and the difference between "fair roll" and "fair deal". If you are new to third-party case sites, our case opening hub and responsible gaming page are the right places to start, and the house edge guide covers the money side that provably fair leaves out.
How does a provably fair system work step by step?
The order is what makes it work. Each step happens before the next, and the site cannot go back.
- The site creates a secret server seed for your account, a long random string.
- The site publishes the hash of that seed, not the seed itself. A hash is a one-way fingerprint: you cannot get the seed from it, but later you can check that a revealed seed matches it.
- You set a client seed, or accept a random one, which you can change at any time. This is your contribution, and it stops the site from choosing a server seed that produces a bad run for you, because it does not know what you will add.
- You open a case. The site combines the server seed, your client seed and a nonce (a counter that goes up by one each roll) into one input, hashes it, and turns the hash into a number between 0 and 1.
- That number is looked up on the case's item table. If the table says an item covers 0.9950 to 1.0000, and your number is 0.9973, you get that item.
- When you rotate seeds, the site reveals the old server seed. You check that it hashes to the hash you were shown at step 2, then redo steps 4 and 5 for every roll to confirm the results.
The clever part is step 2. Because the hash was shown before you played, and the seed matches it afterwards, the site cannot have swapped seeds in between. And because your client seed went in, the site could not have picked a server seed knowing what the rolls would be.
What are the server seed, client seed and nonce?
Three inputs, three jobs.
| Input | Who controls it | What it does | What it prevents |
|---|---|---|---|
| Server seed | The site, kept secret until rotation | The site's contribution, committed to by its hash | The site changing the result after seeing it |
| Client seed | You, changeable any time | Your contribution to every roll | The site choosing a server seed with a known bad run |
| Nonce | A counter, starts at 0 or 1, goes up every roll | Makes every roll under the same seeds different | The site serving rolls out of order or repeating a result |
Together they go into a hash function. Most sites use SHA-256, often in a keyed form called HMAC, with the server seed as the key and the client seed plus nonce as the message.
The output hash is a long hex string. The site takes some of it, usually the first several characters, converts them to a number, and scales it to a range like 0 to 1 or 0 to 100,000. That number, and only that number, decides the item.
If any one of the three inputs is missing from the site's explanation, the system is incomplete. A site that uses only a server seed can pick one that suits it. A site with no nonce can reuse results.
How do you verify a provably fair result?
You need four things from the site: the revealed server seed, the hash you were shown before, your client seed, and the nonce for the roll. Most sites list these on a "fairness" page or next to each opening in your history.
- Check the commitment. Hash the revealed server seed with the function the site names. It must match the hash shown before you played. If it does not, the site swapped seeds, and nothing else matters.
- Recompute the roll. Combine the seeds and nonce exactly the way the site's fairness page describes, hash it, and convert to the roll number.
- Look up the item. Compare the roll number with the case's item table. It should land on the item you received.
- Repeat for a few rolls, especially any big win or big loss.
Our provably fair verifier does steps 1 and 2 for common formats, so you can paste the values and see the result. It cannot do step 3 without the site's item table, which you have to read from the site.
Two warnings. First, only rolls under a retired seed can be fully verified, because the current seed is still secret. Rotate your seed before checking. Second, a site's own "verify" button is not verification. It is the site checking itself. Do the maths outside the site at least once.
What does provably fair actually prove?
When it checks out, it proves a narrow but real set of things:
- The site committed to the server seed before you played.
- The result came from the stated formula, using inputs you can see.
- The site did not alter the result after seeing your client seed or the outcome.
- Each roll was distinct and in order.
That rules out the classic rigged wheel, where a site decides the outcome after you click. It is a genuine protection, and a site that does it properly is more trustworthy than one that does not.
It does not rule out everything. The next section is the part most sites do not put on their fairness page.
What does provably fair not prove?
Provably fair proves the roll was honest. It does not prove any of the following.
That the odds are good. The item table is set by the site. If the table gives a 0.1% chance to the only item worth more than the case price, the roll is fair and the deal is terrible. Provably fair verifies the roll against the table, not the table against your interests.
That the item values are real. A site prices items in its own currency. If it values a skin above what you could sell it for, the "value" you won is smaller than it looks. Cashing out through a trade or the Steam Market means real fees, and Valve's Community Market FAQ notes wallet funds cannot be withdrawn at all.
That you will get paid. A fair roll on a site that does not deliver items is worth nothing. Verification is maths; withdrawal is a business promise.
That the site is legal for you. Provably fair has nothing to do with licensing, age checks or your country's rules.
That you will come out ahead. Over time, a house edge wins. Provably fair does not change the edge. The house edge guide and house edge calculator show how to work it out from a site's own odds.
Treat provably fair as a floor, not a recommendation. It means "not rigged in this specific way". It never means "good idea".
What should you check before trusting a provably fair site?
Beyond verifying a few rolls, look for these.
- A written fairness page that names the hash function, shows the exact combination of inputs, and explains how the number maps to items. Vague pages are a warning.
- A visible item table with probabilities for every case. If you cannot see the odds, you cannot calculate the edge. The drop rates tool shows what Valve's own odds look like for comparison.
- Seed rotation you control, and revealed seeds for past rounds.
- Independent verification working. Paste values into the provably fair verifier and get the same result the site shows.
- Item prices that match the market. Spot-check a few against the Steam Market or a marketplace.
- Age and region rules stated clearly, and tools to set limits on yourself. Our responsible gaming page lists what to look for.
Case battles add one more layer, because multiple rolls decide a winner. How verification applies there is covered in case battles explained.
How is this different from Valve's own case odds?
Valve's cases in CS2 do not use a seed system. When you open a case in the game, Valve's server rolls against fixed odds per rarity tier. Those odds were disclosed by Valve for the Chinese market in 2017 and have been checked by the community against very large samples of openings: roughly 79.92% Mil-Spec, 15.98% Restricted, 3.2% Classified, 0.64% Covert and 0.26% for the knife or glove slot.
So with Valve, you do not verify individual rolls. You trust published, stable odds and a company with no reason to rig a single opening. With a third-party site, you can verify individual rolls, but the odds are whatever that site chose, and they can change.
Neither system makes case opening a good way to acquire skins. Valve's odds put most of the value in a slot that appears about once in 385 cases, and the key and case cost is paid every time. Third-party sites usually advertise a better return than Valve's cases and keep a house edge on top. The house edge calculator puts numbers on both.
Provably fair is a good tool for catching one kind of dishonesty. Use it for that. For the question of whether to open at all, use the maths in the house edge guide, set a limit before you start, and read the responsible gaming page if opening cases has stopped feeling like a choice.
