Provably fair
Don't take our word for it
Every round in the arcade can be checked by you, with no trust in the server. Your Squeek, its level and your arcade level play no part in any of this. There's no input for them.
Step 1
Commit
Before each round, the server creates a secret seed and shows you only its SHA-256 hash. It can't change that seed later without the hash giving it away.
Step 2
Combine
You add a client seed, which you can change at any time. The server locked its seed in before seeing yours, so neither side can steer the result alone.
Step 3
Derive
HMAC-SHA256(serverSeed, "clientSeed:nonce:game") gives one digest, and the round's outcome comes from it. Squeek Run adds the hash of the Sepolia block read as the round starts, which isn't known when the commitment is made.
Step 4
Reveal
When the round ends, the server hands over the secret seed. Hash it and compare, then re-derive the result. The tool below does both, in your browser.
Squeek Run
The top 52 bits of the digest, as h, set the stop: 99 × 2⁵² ÷ (2⁵² − h), in hundredths, floored, from 1.00x up to 1000x.
That makes the chance of reaching any multiplier x exactly 99% ÷ x, so every cash-out plan returns 99% over the long run before bonuses. There's no strategy to find, and past stops don't predict the next one.
The real wheel. Live bonuses come from the SqueekCore contract on Sepolia, read by the server, so anyone can check them. His settled work over the last 20 minutes gives his average speed: 1% per 10 rpm, up to 10%, locked when the round starts. Each new Squeek block settled during the round adds 5%, up to 25%. They only ever raise a cash-out and never move the stop. Blocks are read as the round ends, so a round that finishes while nobody is connected keeps its work bonus and takes no block bonus. The status line you see in the game comes from the official API and is for display only.
The wheel runs on the server's clock. Your browser never knows the stop point until it happens, and a cash-out sends no multiplier, so there's nothing to tamper with.
Squeek Drops
The digest sets the token's starting nudge and the small kick each peg gives it. From there a real rigid-body simulation (Rapier's cross-platform deterministic build) decides the slots, with tokens on a multi-ball drop knocking into each other on the way down. Nothing is steered to a chosen result.
Each chute and ball count has its own pay table, built from 60,000 simulated tokens, aiming for a 97% return from every setting. Those odds are measured, so a table can be a little off the target.
What this doesn't cover
Points are free and worth nothing. A commitment proves the server didn't change a seed after committing, and your client seed stops it picking a seed to suit you. The arcade's operator can still see unrevealed seeds in the database, which matters little while nothing of value is at stake.
