Stellar Rush · Provably Fair Verifier

Everything is computed in your browser from the revealed seeds. Nothing is sent to any server.

Input

Output

sha256(server_seed)
-
hmac_sha256(client_seed:nonce, server_seed)
-
Shuffled order
-
Meteor positions
-
Furthest safe planet
-
Self-test vector
-

Compare the SHA256 above with the server seed hash shown in the game before you placed the bet.

Final Result · Planets 1 → 25

Algorithm

  1. H(x) = SHA256 of the UTF-8 text x, as lowercase hex. Seeds and hashes are used as hex text, never decoded to bytes.
  2. Commitment: before the bet the game shows H(serverSeed).
  3. mac = HMAC-SHA256(key = serverSeed, message = clientSeed + ":" + nonce).
  4. Base deck: 7,2,19,25,1,13,5,24,14,6,15,9,22,16,3,17,18,20,8,21,4,12,10,23,11.
  5. S(items, seed): h = H(seed); the item at input index i gets key h[i:] + h[:i]; stable sort ascending by key.
  6. order = S(S(base, mac), H(mac)). The first K numbers of order are the meteor planets (K = 1 / 3 / 5 / 10).
  7. Advancing goes planet 1 → 25; the round crashes at the smallest meteor number on the path.

Source code: GitHub