Skip to content

How Provably Fair Works

Short answer

Provably fair is a system where a case opening site commits to a secret server seed by publishing its hash before you play, combines it with a client seed you control and a nonce counter to make each result, then reveals the seed so you can check the maths. It proves the roll was not changed, not that the odds are good.

Published Last updated

A Recoil Case glowing on a navy stage, surrounded by dice made of light and a faint hash grid.

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.

  1. The site creates a secret server seed for your account, a long random string.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

InputWho controls itWhat it doesWhat it prevents
Server seedThe site, kept secret until rotationThe site's contribution, committed to by its hashThe site changing the result after seeing it
Client seedYou, changeable any timeYour contribution to every rollThe site choosing a server seed with a known bad run
NonceA counter, starts at 0 or 1, goes up every rollMakes every roll under the same seeds differentThe 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.

  1. 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.
  2. 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.
  3. Look up the item. Compare the roll number with the case's item table. It should land on the item you received.
  4. 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.

Sources

Frequently asked questions

Is provably fair the same as fair odds?

No. Provably fair proves each result was generated as promised and not altered. The odds themselves are whatever the site's item table says, and that table is where the house edge lives. A site can be fully provably fair and still take a large cut.

Can a provably fair site still lose you money?

Yes, and on average it will. Provably fair only rules out one kind of cheating. The prices of the items versus the cost of the case decide whether you lose over time, and on almost every site that maths favours the site.

What is a hash?

A hash is a fixed-length fingerprint of some data, made by a one-way function such as SHA-256. Anyone can compute the hash from the data, but nobody can work backwards from the hash to the data. That is why publishing a hash commits the site to a seed without revealing it.

Why do I have to rotate my seed to verify?

The server seed stays secret while it is in use, because revealing it would let you predict future rolls. Rotating to a new seed retires the old one, and the site then reveals it so you can check every roll that used it.

Can a site fake provably fair?

A site can display the words without doing the maths, or run a real system with a bad item table. You can only catch the first by actually verifying rolls, and the second by checking the odds and prices. A fair roll from a rigged table is still a bad deal.

Does Valve's case opening use provably fair?

No. Valve's cases use fixed odds per rarity tier that Valve disclosed for the Chinese market and that the community has checked against large samples. There is no seed system to verify; you trust the published odds.

How do I check the house edge on a provably fair site?

Take each item's probability from the site's odds table, multiply by the item's market value, add them up, and compare with the case price. The house edge calculator does this. Provably fair does not tell you this number; you have to work it out.