🎡 Lucky Spin — Provably-Fair Verifier

100% offline. Nothing leaves your browser — view source to confirm. Reproduces maczo's exact server algorithm from your revealed seeds.

How it works

Every Lucky Spin outcome is fixed by a value we commit to before you spin:

  1. Commitment. Before your first spin the site shows SHA-256(serverSeed). The seed stays secret, but this hash proves it already existed and can't be swapped later.
  2. Outcome. For each spin: HMAC-SHA256(serverSeed, "clientSeed:nonce:cursor") → read 8-byte big-endian words → rejection sampling over the total weight (removes modulo bias) → cumulative-weight walk → the winning segment.
  3. Reveal. When you "Rotate" the seed on the Lucky Spin page, the site reveals the original serverSeed. Paste it here with your client seed and each nonce to reproduce every spin, and confirm SHA-256(serverSeed) equals the commitment you saw earlier.

Cross-check this page against the official Node reference (verify.js --selftest) and the published test-vectors.json. Same algorithm as the server (ProvablyFairWheel).