Fairness
Commit first. Reveal after. Verify locally.
Verify a round in seconds
Every supported game exposes the values needed to reproduce its result. Click Verify in a game and this page opens with the fields already filled. Champion is game-level: one completed game can contain several fights, so its proof contains one seed/hash receipt for every fight.
Round Verifier
Nothing is sent back to Rustnecro. The calculation runs locally in your browser.
Advanced round inputs Rustflip / Champion / Rustpot
Three checks, no trust required
The SHA-256 hash is public before the round. Change the seed later and the hash no longer matches.
After the round, the revealed seed must match that pre-game hash.
The verifier recalculates the result in your browser from the published inputs.
How the fairness proof works
Hash published before play
Rustnecro publishes SHA-256(server seed) before the round. Once that hash is public, changing the seed later produces a different hash.
Seed revealed after the round
After settlement, Rustnecro reveals the seed. The verifier hashes it again. It must match the exact pre-game hash.
Result recalculated locally
The verifier uses the revealed seed and round inputs to recalculate the roll in your browser.
The proof remains checkable later
Completed rounds keep the pre-game hash and revealed inputs in the Fairness Ledger where available.
What verification proves
It proves the revealed seed matches the hash published before play and that the result follows the shown inputs. It does not guarantee a win.
Champion game archiveOne click verifies every fight inside a completed gameView
Completed Champion games
Champion Last Games keeps the last 10 completed games. Each row below is one full throne-hold session. Verify whole game checks every duel, then opens the actual per-fight proof receipt: pre-game hash, revealed seed, client seed, nonce, result hash, roll and public-ledger chain data.
Game formulasTechnical calculation details for every gameView
Champion
Win chance is proportional to each fighter's stake. With hash = SHA256(server:client:nonce):
roll = parseInt(hash[0:12],16) % (champ+challenger) + 1
If roll ≤ champion_wager, the Champion wins; otherwise the Challenger does
Rustflip
The room publishes the server-seed hash first. When an opponent joins, their browser contributes fresh random entropy, so the final roll was not knowable from the server commitment alone:
hash = SHA256(server:client:nonce:opponent_entropy)
roll = parseInt(hash[0:12],16) % 10000 + 1
For equal dollar stakes the threshold is 5000. For unequal skin stakes, the creator threshold is proportional to creator stake / total stake.
Rustpot
Battle-royale jackpot, every cent of stake is one ticket, so your win chance equals your share of the pot. The exact players + stakes are folded into the hash so the house can't grind a result:
fp = "uid:stake|…" (join order)
hash = SHA256(server:client:nonce:fp)
roll = parseInt(hash[0:12],16) % pot + 1
Walking players in join order, the first whose cumulative stake reaches roll (1…pot) takes the pot
Raffle
The draw seed is committed when the raffle is created, before tickets are sold. At draw time the published seed inputs select one ticket from the final ticket total:
hash = SHA256(server:client:nonce)
roll = parseInt(hash[0:12],16) % total_tickets + 1
Tickets are walked in entry order; the owner of the cumulative ticket range containing roll wins.
Current commitment detailsLive global seed/hash diagnostic valuesView
—
—
0
—
—
—
Public Fairness LedgerPre-game commitments and revealed multiplayer roundsView
Public Fairness Ledger
These are commitments published by the application when multiplayer rounds are created/queued. An OPEN row intentionally does not reveal the secret server seed. A REVEALED row lets you verify it. The chain column links each commitment to the previous ledger entry.
/api/fairness_ledger.php