How A Pull Is Kept Fair
Before a buyer orders, their shop has already published a sealed fingerprint of the randomness that will decide their pull. After the pull, the secret is revealed, and anyone can check that it matches and produces the same result.
The Short Version
- The odds come from the live pool and are shown before purchase. No setting hides them.
- The randomness for each pull is created ahead of time, and only its hash is published, on the shop's own domain.
- The buyer's own order number is the other half of the calculation, so neither the shop nor Rarium can pick the randomness after seeing the order.
- After the pull, the secret is revealed on the buyer's receipt. Anyone can re-run the draw.
What This Does Not Prove
It covers the randomness, not the pool. A shop can change items, stock and odds between pulls, the way it changes any product. What it cannot do is change them for one pull after seeing how it came out. The exact pool every pull ran against is recorded with it and printed on its receipt.
The timestamps are Rarium's own. Every published hash is chained to the ones before it, so a rewritten history is detectable by anyone who saved an earlier link of the chain. The chain is not yet anchored to an outside timestamping service.
How A Pull Is Decided
- Sealed in advance. Rarium creates a batch of random secrets for the shop and publishes only their SHA-256 hashes, each linked to the one before it.
- The buyer orders. Shopify creates the order and its line item numbers.
- The pull. After payment, the next unused secret is combined with the order's identifiers. That result picks the item from the pool, the item leaves the pool, and the full record is written in one step.
- The reveal. The secret is published on the buyer's receipt.
At the moment of the pull both inputs are already fixed, so there is exactly one possible outcome. Trying again for a better one is not against a policy; it is arithmetically impossible.
Check A Pull Yourself
A receipt shows the secret (serverSeed), its published hash (commitmentHash), the order's identifiers (clientSeed) and the resulting drawSeed. Two commands check them. Use printf, notecho: some shells add a newline, which changes the hash.
printf '%s' "$serverSeed" | openssl dgst -sha256
# must equal commitmentHash
printf '%s' "$clientSeed" | openssl dgst -sha256 -hmac "$serverSeed"
# must equal drawSeedIf the first line does not match, stop: nothing after a swapped secret means anything. If both match, the receipt's pool and the drawSeed reproduce the item. The full specification is precise enough to write your own checker from, and we send it to anyone who asks at hello@rariumboxes.com.
When A Pull Cannot Be Re-Proved
If a shop's supply of sealed secrets ever ran out, a paid pull still happens, because a buyer must never lose an item to an empty table. That pull is recorded without a seal, and its receipt says plainly that it cannot be independently re-proved instead of showing a proof it did not earn. The supply is topped up after every paid order, and the shop sees the count in Rarium.
What A Receipt Shows
The buyer's receipt shows the item, its tier and condition, the pool and chances at that moment, and every value above. The public view of a pull shows the same, except the order's identifiers, which are only on the buyer's own receipt.