OPEN BY DESIGN
Trust the rules. Verify the round.
The server commits to a seed before receiving your client seed. After settlement, the seed is revealed. This verifier runs locally in your browser and recomputes every draw and the payout.
Receive SHA-256(serverSeed) before the outcome. No cheating after commitment.
HMAC-SHA256 combines both seeds, nonce, and the immutable rules hash.
Rejection sampling removes modulo bias. Compare the exact settlement yourself.
Protocol specification
Server seed: 32 cryptographically random bytes encoded as 64 lowercase hex characters. Hash: SHA-256 of that hex string in UTF-8. HMAC key: the original 32 bytes. Each message is the JSON array ["reme-arena-v1", gameId, configHash, clientSeed, nonce, drawIndex, attempt]. Read the first unsigned 32-bit big-endian word. Reject values ≥ floor(2³²/range) × range; increment attempt and retry. Accepted value modulo range is the draw. REME uses 0–36; other games add 1 to each value. The rules hash is SHA-256 of the stored config JSON.
Commitment verification detects changed seeds or settlements. It does not by itself prove that an operator has never selectively withheld a round. Pending commitments remain resumable and rules snapshots cannot change after commitment.
This verifier runs entirely in your browser. No data is sent to any server.