Provably Fair, Explained
"Provably fair" gets used loosely across CS2 gambling and case sites, but it refers to a specific, checkable mechanism: a cryptographic commitment that lets you verify a round's outcome wasn't altered after you placed your bet. This page explains how it actually works and how to verify a round yourself.
Updated September 16, 2026
The core mechanism
A provably fair round typically works in three steps:
- Commitment. Before you bet, the platform generates a random server seed and shows you its cryptographic hash (not the seed itself) — this is the “commitment,” proving a specific seed was fixed before your bet without revealing what it is yet.
- Combination. Your bet’s outcome is generated by combining that server seed with a client seed (something you can set yourself on many platforms) and often a nonce (a per-bet counter), run through a defined algorithm to produce the round’s result.
- Reveal and verify. After the round (or when you rotate to a new server seed), the platform reveals the actual server seed used. You — or anyone — can then hash that revealed seed and confirm it matches the hash shown before the round. If it matches, the seed wasn’t swapped after your bet was placed.
A simplified worked example
This is illustrative pseudocode, not a specific platform’s real implementation:
Before the round:
server_seed = random_string() // e.g. "a1b2c3..."
hash_shown_to_player = SHA256(server_seed) // e.g. "9f8e7d..."
# Platform shows you hash_shown_to_player now — NOT server_seed
During the round:
result = generate_outcome(server_seed, client_seed, nonce)
After the round:
server_seed is revealed
To verify:
your_hash = SHA256(revealed_server_seed)
your_hash == hash_shown_to_player ? → seed wasn't altered after your bet
If the hash you compute from the revealed seed doesn’t match the hash you were shown before betting, that’s evidence the seed was changed after the fact — a legitimate, honestly-run provably fair system should always match.
What provably fair does and doesn’t prove
It proves the specific round’s random inputs weren’t altered after your bet was placed. It does not prove the game’s payout table or house edge is fair or favorable — those are separate design choices the operator makes within a provably fair framework, not something the hash-verification process addresses. A provably fair game can still have a steep house edge; “provably fair” is about tamper-resistance, not about the odds being good.
Verifying in practice
Most platforms that advertise provably fair games include a built-in “verify” or “fairness” panel that runs this hash check for you automatically — you generally don’t need to run the math by hand. If a platform claims to be provably fair but doesn’t offer any way to see a committed hash before betting or a revealed seed afterward, that claim isn’t actually verifiable and should be treated with more skepticism than a platform that shows its work.
FAQ
What problem does provably fair actually solve?
It addresses a specific trust problem: on a normal, closed system, you have to simply trust the operator that a random outcome wasn't generated (or altered) after seeing your bet, in the house's favor. Provably fair lets you cryptographically confirm the outcome was fixed before your bet was placed and hasn't been tampered with — it doesn't remove the house edge, it only proves the specific round wasn't rigged beyond that edge.
What are 'server seed' and 'client seed'?
The server seed is a random value the operator generates and commits to (via its hash) before you bet. The client seed is a value you supply — either directly or automatically — that gets combined with the server seed to produce the round's outcome. Combining both means neither party alone controls the final result.
Why does the operator show me a hash before the round instead of the seed itself?
A cryptographic hash is a one-way function — you can't work backward from the hash to guess the original seed, but once the seed is revealed, anyone can hash it themselves and confirm it matches the hash shown earlier. This lets the operator prove commitment to a seed before the round without revealing (and therefore risking manipulation of) the seed itself in advance.
Does provably fair mean the game can't have a house edge?
No — provably fair only proves the specific outcome wasn't manipulated after your bet; it says nothing about the odds or payout structure themselves, which is where the house edge lives. A provably fair game can still be built with any house edge the operator chooses within its payout table.
How do I actually verify a round myself?
Take the revealed server seed (shown after the round or after you request a new one) and hash it yourself using the same algorithm the platform states it uses (commonly SHA-256) — if your computed hash matches the hash the platform showed you before the round, the seed wasn't changed after the fact. Most platforms also provide a built-in verify tool that does this calculation for you.
18+ only. This page reflects our own research and editorial judgement; signing up through links here may earn this site a commission at no cost to you. Gambling involves risk — never stake more than you can afford to lose. Support: begambleaware.org.