Skip to content
CheckMyPull

Verify your RustClash roll

Verified: reproduces real results

RustClash runs the same verified engine as Clash.gg, against Rust skins. Case opening and battle rounds reproduce here, on a ticket space of 0 to 99,999.

Live verifier
0 network requests

Step 1Where did you play?

Using Clash.gg / RustClash case opening: seedrandom v3.0.5 PRNG over serverSeed:clientSeed:rounddetails

The server seed, your client seed and the case index (1-based within a multi-case open) join with colons and seed the seedrandom v3.0.5 PRNG. The first float in [0, 1) times 100,000, floored, is the ticket (0-99,999). Each 1% of an item's odds spans 1,000 tickets. The server-seed commitment is a plain SHA-256.

Where to find your numbers on RustClash:

  1. RustClash's fairness link redirects to clash.gg/fairness: the same Server Hash and editable Client Seed controls apply.
  2. Per-bet server seeds and nonces appear in your account after the seed rotates (login required).
  3. For battles, copy the battle's Random.org seed from its details. Rounds and player slots count from 1.

Source: RustClash's own fairness page

Step 2Paste your numbers

Runs entirely on your device via your browser's built-in cryptography. Don't take our word for it: open DevTools → Network, click the button, and watch: zero requests.

Where to find your seeds on RustClash

  1. 1

    RustClash's fairness link redirects to clash.gg/fairness: the same Server Hash and editable Client Seed controls apply.

  2. 2

    Per-bet server seeds and nonces appear in your account after the seed rotates (login required).

  3. 3

    For battles, copy the battle's Random.org seed from its details. Rounds and player slots count from 1.

The short version

RustClash is part of the Clash family, alongside Clash.gg and DotaClash. The three run the same fairness engine against different item pools, and RustClash's own fairness page redirects to Clash.gg's rather than publishing a separate document.

That means everything needed to check a RustClash result is already confirmed. Both case opening and battle rounds verify with the tool above, against the same published code we cross-checked for Clash.gg.

We are not going to restate the whole algorithm here, because duplicating it would just give you two pages to keep in sync and one of them would eventually be wrong. The full walkthrough lives in one place:

How the Clash engine works, in detail covers the seeded-generator approach, why the library version matters, the ticket range, and how battles use Random.org.

What is specific to RustClash

Very little, which is the point. Here is the whole difference:

Clash.ggRustClashDotaClash
Item poolCS2 skinsRust skinsDota 2 items
Fairness pageIts ownRedirects to Clash.ggRedirects to Clash.gg
Engineseedrandom 3.0.5IdenticalIdentical
Ticket range0 to 99,9990 to 99,9990 to 99,999
Battle seed sourceRandom.orgRandom.orgRandom.org

The items are Rust skins

Not CS2 or Dota items. The fairness math is identical, and only the pool it maps onto differs. That is why a result verified here and a result verified on Clash.gg are the same operation with a different catalogue behind it.

Tickets run 0 to 99,999

An item listed at 1% holds exactly 1,000 tickets, and one at 0.1% holds 100. The arithmetic is unusually easy to follow because the ticket space is a round 100,000 rather than a power of two. Reproducing your ticket proves the number was fixed before you opened, and checking which published block it lands in proves it maps to the item you were given.

Battle seeds come from Random.org

In a battle there is no single player whose seed should decide a shared outcome, so the Clash engine takes its shared input from a third-party randomness service instead. Nobody at the table picks it, including RustClash.

The two modes, and which string each uses

Both verify here, and the difference between them is one line. Using the wrong one is the most common reason a check disagrees.

ModeSeed stringShared input
Case openingserverSeed:clientSeed:roundThe committed server seed
BattlebattleSeed:round+1:slotRandom.org

The round is not a global counter

In case opening, the round is the index of the roll within your bet rather than a running total across your account. Opening three cases in a single action produces rounds 1, 2 and 3 against the same pair of seeds. If a result will not reproduce, an incorrect round is worth checking before anything else.

Why the library version matters here too

RustClash inherits one unusual property from the Clash engine, and it is worth understanding before you check a result. Most platforms slice a hash, and a hash is the same function in every language, so anyone can reimplement the algorithm from a written specification. The Clash engine instead seeds a JavaScript pseudo-random number generator and reads its first output, which means the answer depends on the exact internal behaviour of one specific library.

That library is seedrandom 3.0.5. A different generator, or even a different version of the same one, produces a number that is no less random and completely wrong. We pin the version deliberately for that reason. It is not a criticism of the fairness: the commitment still works and the seeds are still published. It just means the check carries a dependency that a hash-based check does not.

What a passing check settles

A match proves that specific round came from values committed before you played, and that the result was not altered afterwards.

It says nothing about whether a withdrawal will arrive, how support behaves, or what any case contains. A fairness check answers one narrow question well and none of the others at all, which is why we keep what verification cannot prove as a permanent page.

What we can check on RustClash

Per-game status. "Verified" means our implementation reproduced a real, documented result for that game. We never list a game on trust.

GameAlgorithmStatus
Case openingseedrandom v3.0.5 PRNGVerified

RustClash's fairness page resolves to the same Clash case verifier: seedrandom(serverSeed:clientSeed:round) x 100,000, ticket 0-99,999. Corrected 2026-07-22 from a wrong HMAC engine.

Battle roundseedrandom v3.0.5 PRNGVerified

The operator's battle verifier is titled 'Clash.gg / RustClash / DotaClash Battles v2'; cross-checked 2026-07-14 (13 of 13 outputs reproduced).

Runs the Clash.gg engine (the fairness page is shared). Rust and CS item verticals.

Common questions

Is RustClash provably fair?

Yes. RustClash runs the same verified engine as Clash.gg, and its own fairness page redirects there rather than publishing a separate document. Both case opening and battle rounds verify with the tool on this page.

How do I verify a RustClash case opening?

Take the server seed, client seed and round from your RustClash history and paste them into the verifier above. It seeds the same generator Clash.gg publishes and returns your ticket, from 0 to 99,999, recomputed on your own device.

Is RustClash the same as Clash.gg?

They are separate sites sharing one fairness engine. RustClash deals in Rust skins where Clash.gg deals in CS2 items, but the algorithm, the ticket range and the battle seeding are identical, which is why RustClash's fairness page points at Clash.gg's.

Where does the seed for a RustClash battle come from?

From Random.org, a third-party randomness service, rather than from any player at the table. In a battle no single player's seed should decide a shared result, so the engine draws its shared input from outside, and RustClash does not pick it either.

What ticket range does RustClash use?

A ticket runs from 0 to 99,999, the same space Clash.gg and DotaClash use. An item listed at 1% holds exactly 1,000 tickets and one at 0.1% holds 100. Reproducing the ticket proves the number was fixed in advance; the published block it falls in proves it maps to your item.

Why does the seedrandom version matter on RustClash?

Because the Clash engine seeds a JavaScript random number generator rather than slicing a hash. A hash is the same function everywhere, but a generator's output depends on one library's exact internals, so a different version produces a number that is no less random and completely wrong. We pin seedrandom 3.0.5.

Sources

Algorithm details on this page are checked against RustClash's own published material before publication, and our implementation is confirmed against a real result before a game is marked verified.

The honest fine print

A passing check proves a specific outcome came from numbers fixed before you played. It does not prove RustClash will honour a withdrawal, or say anything about the site beyond this one result. Fair math and a trustworthy business are different things: how we verify and what it means.

More tools: compare every platform's algorithm · batch-verify a nonce range · check your luck vs the odds · all platforms

The verifier never sends your data anywhere. Analytics cookies are separate and let us see aggregate traffic. Nothing loads unless you allow it. See our Privacy Policy.