Goldbreaks logo
Goldbreaks logo
HomeBagsCollection
Home

/

Learn

/

Don't Trust. Verify.

Learn

Don't Trust. Verify.

How GoldBreaks Keeps Bag Odds Fair

Published June 10, 2026

|

Updated June 10, 2026

|

4 min read

GoldBreaks doesn't just show you the odds before you rip.

We lock them in and give you cryptographic proof after.

It's effectively impossible for GoldBreaks to manipulate the result and switch your result behind the scenes without detection.

Why collectors should care

Any website can claim they "disclose odds" or say "our odds are fair." That doesn't mean anything by itself - the seller is asking you to trust them. What matters is whether the site can show proof that it did not manipulate the result after you paid.

Physical bags are vulnerable to the same exploit. The bag creators can stuff the bags with any amount of low tier items while advertising high tier items at a false rate.

GoldBreaks was built to solve this problem and show you the proof.

How does Provably Fair work?

The odds get locked in before you buy your bag. Your item is guaranteed to come from those odds without being manipulated.

Fairness is proved with just three things

  • Server Seed - a random string of characters provided by GoldBreaks
  • Client Seed - a random string of characters chosen by you
  • Odds Table - the list of items and their chances

Before you buy, GoldBreaks gives you a hash of the hidden Server Seed, called the Server Seed Hash. You get it before buying your bag to make sure we cannot change it later.

We reveal only the hash before the rip so the Server Seed stays hidden, while still proving later that we did not change it. However, the SHA-256 hashing is a unique one-way fingerprint. If we changed the Server Seed in any way, the resulting Server Seed Hash would also change.

GoldBreaks will generate you a Client Seed. You can and should change this Client Seed to something random, so you can be sure we didn't pick your Client Seed to predetermine your result.

Your next great rip

Determining Your Item

TLDR

GoldBreaks hashes the Odds Table, combines that hash with your Client Seed to build the Outcome Message, uses the hidden Server Seed to create the Outcome Hash, converts that hash into a number, and maps that number into your item range.

  • Step 1 - hash the Odds Table into the SHA-256 Odds Table Hash
  • Step 2 - build the Outcome Message with the Odds Table Hash and your Client Seed
  • Step 3 - use the hidden Server Seed and HMAC-SHA256 to create the Outcome Hash
  • Step 4 - convert the Outcome Hash into a decimal number and use modulo (%) against the total outcome chance
  • Step 5 - walk the Odds Table ranges until that number lands on your item

In-Depth Explanation

Once you open the bag, GoldBreaks first hashes the Odds Table into the SHA-256 Odds Table Hash. The Odds Table is hashed in a fixed canonical format, so the same items, chances, and ordering always produce the same Odds Table Hash. Later you will use it to verify that exact Odds Table was used to determine the outcome and not changed afterward. The Odds Table Hash becomes part of the Outcome Message together with your Client Seed. The message format is open:v1:{outcomesHash}:{clientSeed}.

GoldBreaks then determines the result by taking the hidden Server Seed and using HMAC-SHA256 to hash the Outcome Message into the Outcome Hash. This Outcome Hash is mapped to an item for your open.

The Outcome Hash is in hexadecimal format, so it's converted into a decimal number. Then it's mapped into the total size of the Odds Table by taking the Outcome Hash (Decimal) and using the modulo (%) operator against the total outcome chance. Because the Outcome Hash is extremely large, this mapping produces a practically uniform roll across the Odds Table. The total in the calculation is the sum of every possible outcome's chancePpb value, where chancePpb means chance in parts per billion.

For example, if the total chance is 1,000,000,000 ppb and the computed roll is 425,000,123, GoldBreaks checks which item range contains 425,000,123. That item is the result.

After that, GoldBreaks simply walks the Odds Table from top to bottom, building one continuous range for each item based on its chancePpb. The first range that contains the computed number is your item.

That means just those three things determine the exact result: the Server Seed supplies our input into the randomness, the Client Seed supplies your input into the randomness, and the Odds Table defines which item your result maps to.

Try our introductory bags

How you can verify after the open

After the reveal, GoldBreaks gives you the proof needed to rerun the checks yourself. We also include a 1-click button to automatically run the checks.

First, verify that the revealed Server Seed hashes back to the saved Server Seed Hash.

Then verify that the Outcome Message matches the saved Odds Table Hash and your Client Seed, and that the Outcome Hash matches the revealed Server Seed plus that message.

Finally, convert the Outcome Hash into a number, map it against the total chance in the Odds Table, and confirm that it lands on the item you received.

  • Saved Odds Table Hash - still matches the exact Odds Table used for the roll
  • Revealed Server Seed - hashes back to the saved Server Seed Hash
  • Outcome Message - matches the saved Odds Table Hash and your Client Seed
  • Outcome Hash - matches the revealed Server Seed and Outcome Message
  • Final result - lands in the correct range and maps to the item you pulled

Start your collection

Real coins, real odds, real proof

Open your digital bags online, find graded coins, and track your inventory in real time.

Browse BagsBack To Top