Fairness
Provably fair
Public endpoints. No key, CORS open.
Each operator has a hash chain: seed[i] = SHA256(seed[i+1]), and seed[0] is published as the commitment. Round n uses seed[n], so the whole future is committed in advance. The digest is HMAC-SHA512(seed[n], "<operatorId>:<seq>:<cs1>:<cs2>:<cs3>") over the client seeds of the first three distinct players.
GET
/api/fairness/chain/:operatorIdAvailableGET
/api/fairness/rounds/:idAvailablePOST
/api/fairness/verifyAvailableWhat this proves
That an outcome was not changed after you bet. It does not prove RTP; that is a lab certificate’s job, and the proof must not be presented as one.