Sandbox / testnet build — demo credits only. No real money, no Bitcoin custody, no withdrawals.
Provable fairness

Verify any round yourself

Bitclimber locks in each round's outcome before betting opens and publishes only a hash of the secret. After the round settles, the secret is revealed and anyone can recompute the result — in this page, in your own browser, with no server involved.

In plain language

Before you can stake anything, the server rolls a secret 32-byte number and publishes its fingerprint (a SHA-256 hash). The fingerprint cannot be reversed, but it cannot be changed either. When the round ends we publish the secret. If the secret still produces the same fingerprint, we could not have altered the outcome after seeing your stake — and running the same formula on the secret gives you the exact multiplier the climbers fell at.

Algorithm v4 — exact definition

  • Message — client_seed + ":" + nonce + ":" + round_id, encoded as UTF-8.
  • Digest — HMAC-SHA256(key = server_seed, message), where the key is the 64-character lowercase hex seed string in UTF-8, not its decoded bytes.
  • Uniform value — take the first 13 hex characters of the digest big-endian. That is an integer x uniformly distributed over [0, 2^52), reduced to p = floor(x × 1000000 / 2^52). No floating point is used.
  • Crash curve — p is mapped through the gameplay curve recorded with that round: find the segment [p0,b0] → [p1,b1] containing p, then crash_bps = b0 + floor((b1 − b0) × (p − p0) / (p1 − p0)). All integer arithmetic, so the server and this page agree exactly.
  • No house edge in the outcome — Bitclimber is a fixed-entry pooled contest. The house takes a rake on the entries, so the crash distribution carries no edge and exists purely to shape the risk decision. Changing the rake cannot change how often the climber falls.
  • Bounds — clamped once, at the end, to [10000, 10000000] basis points (1.00× to 1000.00×). The displayed multiplier is crash_bps / 10000.
  • Commitment — SHA-256(server_seed) over the same UTF-8 hex string.

Nothing else touches the outcome: no clock, no client input, no database randomness, no post-commitment value. Player stops, entry amounts and entrant counts are all irrelevant to it. The round id is inside the message so an identical seed and nonce can never be replayed across rounds. Historic v2 and v3 rounds used the older inverse-crash formula and still verify against their original rules.

Verify a revealed round

Recently settled rounds

Every settled round publishes its full proof. Load one to check it without typing anything.

RoundMultiplier
No settled rounds published yet.

Sandbox scope

This release runs on demo credits only. The fairness commitment is a genuine cryptographic scheme rather than a decorative label, but it is not an audit, a certification, or evidence of regulatory approval.