Skip to main content

FAQ

Can I choose my own seed?

For dice and snake, yes — the client seed is yours, and it goes into every HMAC message. Change it whenever you like. Marble Race is one race watched by everybody, so it has no per-player seed; its commitment is the chain instead.

Why can I only see the server seed afterwards?

Because a revealed seed makes every remaining bet under it predictable. While the seed is in use you hold its SHA-256, which tells you nothing about the seed and yet pins the operator to exactly one value. Rotating your seed pair retires the current seed, reveals it, and publishes the hash of the next one.

What happens when I rotate?

The old server seed is revealed, and every bet placed under it becomes checkable. Bets placed after the rotation belong to the new seed, and cannot be checked until you rotate again.

Can Gamba see my round in advance?

The server knows its own seed, so it knows what a given nonce would produce. It cannot change the answer: the seed's hash was published before you bet, no other seed matches that hash, and your client seed is in the message. That is what the commitment buys — not ignorance on our side, but the inability to act on it.

Why does my roll have four decimals?

Because that is what the server stores and what your target is compared against. The comparison truncates once more before it happens, and both truncations floor rather than round. A verifier that keeps two decimals disagrees with the server on every target that lands in between.

Why does Marble Race verification take seconds?

Checking who won does not — it is five HMAC reads and finishes in well under a millisecond. Re-running the physics to confirm the animation is 8 000-odd ticks of 240 Hz simulation, and that is the part that takes a second or so. They are separate claims, and only the first decides money.

Does a round without a Bitcoin block hash still verify?

Yes. The beacon is mixed in when the round has one. A round whose beacon has not landed yet still derives its order, from the round seed and the chain alone.

Where do the numbers on these pages come from?

From the library that settles the rounds. Every seed, byte, sum and outcome on this site is explain()'s own output, written to JSON by a generator and compared against the code on every build. The functions the game pages tell you to paste are real files, executed by the test suite against that same library. Nothing here is typed by hand.

Can I verify without the library?

Yes. The library is a convenience, not a source of truth. The Algorithm Reference specifies the inputs, mnemonic conversion, HMAC messages, byte conversion, and game-specific rules needed to write an independent verifier in JavaScript or another language.

An independent check must reproduce the complete chain, not just one HMAC command: seed conversion, nonce and cursor handling, number conversion, and the game's settlement rule. A command-line HMAC can confirm one primitive, but it cannot by itself decide which implementation of the whole algorithm is correct.