Provable fairness
Committed first.
Checked after.
A casino that can pick the result after seeing your bet is not a casino, it is a decision. This is the standard trick that removes the decision — and the whole of it fits on one page.
The house commits
A random server seed is generated and you are shown its SHA-256 hash. The hash gives nothing away, but it pins the seed down — it cannot be changed later.
You stir it
You choose a client seed. It is mixed into every round together with a nonce that counts up by one each bet, so no two rounds share an input.
You check
Ask for the server seed. Hash it — it must match what you were shown first. Then recompute any round you played from the three inputs.
The whole algorithm.
Each round derives bytes from HMAC-SHA256, keyed with the server seed, over the string clientSeed:nonce:round. Bytes are consumed four at a time and read as a fraction — the first byte is worth 1/256, the second 1/65536, and so on. That gives an even number between 0 and 1, and every game is a rule applied to that number.
A coin is < 0.5. A roulette pocket is floor(n × 37). A shuffle is a Fisher–Yates pass driven by the same stream. There is nowhere in that chain for the house to put a thumb.
Verifier
On this site the seeds are generated in your own browser, so the verifier shows you the scheme rather than policing a stranger. The point is that you can read the rule, run it yourself, and recognise it when a real table offers you the same thing.