Originally published on the Betkyo Journal , where every figure is read from the game engine's source. Every provably fair round on this site turns a 256-bit hash into a number between 0 and 1 and then into an outcome. The server does that in Kotlin; the browser verifier does it in JavaScript. Both languages hold numbers as 64-bit doubles with 53 bits of precision , and a hash has more bits than that, so somewhere a rounding must happen. If the server rounds once and the verifier round...