The problem it solves
A conventional online casino generates results with a random number generator you cannot inspect. You click, it spins, you see an outcome. Certification by a testing house is a genuine check, and it happens periodically rather than on your bet.
Provably fair replaces that trust with a procedure. The casino commits to its randomness before you wager, reveals it afterwards, and the commitment makes tampering detectable.
The mechanism
Server seed. A random string the casino generates. Before you play it shows you a cryptographic hash of that seed, which fixes the value without revealing it.
Client seed. A string you supply. Setting your own is the step most players skip and the one that matters, because otherwise the casino chose both inputs.
Nonce. A counter incrementing with each bet, so no two wagers share inputs.
These combine through a published construction to produce the result. Constructions differ between operators: the Stake family uses HMAC-SHA256, and some others use HMAC-SHA512 with a different message format. Using the wrong one produces a mismatch that means nothing.
The two checks
Recompute the outcome. Feed the revealed seed, your client seed and the nonce back through the construction. You should get the number you saw.
Verify the commitment. Hash the revealed server seed and confirm it matches what you were shown before the round. This is the half that proves something, because it is what prevents the casino picking a convenient seed after seeing your bet.
Most people do the first check only. A verified outcome with an unverified commitment proves nothing at all, since anyone can find a seed producing a given result if allowed to choose it afterwards.
What it does not cover
Generosity. A provably fair game at 92% RTP is provably fair and a poor deal. Honesty of the draw and the maths of the paytable are separate questions.
Third-party games. The scheme applies to a casino’s own titles. Slots from external studios are generated elsewhere and are not covered.
Whether you get paid. A casino can produce cryptographically perfect results and still stall a withdrawal or apply a term selectively. That is why we also read wallets, and why our reserves page exists.
Shared-outcome games. Crash and similar formats produce one result for everyone in a round, so per-player seeds cannot control them. Better implementations use an external randomness beacon such as drand, which removes the operator from the process entirely.