Fairness
Provably fair, in plain English.
Two promises make SneakBox fair: you see the exact odds before you buy, and the outcome of every open is locked in — cryptographically — before your purchase, so we couldn’t change it even if we wanted to. Here’s how both work, without hand-waving.
Promise one: published odds
Every box in the app shows its complete contents pool before purchase: each sneaker model that can appear, its listed market value, and the exact probability of pulling it. There is no hidden remainder, no “and other prizes” bucket. The probabilities you see sum to 100%, and the table you see is the table the draw actually uses.
Odds tables are versioned. When we restock or rebalance a box, the odds table gets a new version number and the change is visible in the app. Your receipt records which version applied to your open, so there is never ambiguity about which odds governed a past purchase.
Promise two: commit–reveal randomness
The nightmare scenario with any randomized product is a seller who decides the outcome after seeing who’s buying. Commit–reveal makes that mathematically impossible. Three ingredients decide every open:
- INGREDIENT 1
Server seed
A long random secret we generate. Before you ever purchase, we publish its SHA-256 hash — a fingerprint. The fingerprint proves the seed existed and was fixed at that moment, without revealing it. Changing the seed later would change the fingerprint, so we can't swap it.
- INGREDIENT 2
Client seed
A value from your device. You can leave the default or set your own before opening. Because we can't predict or control it, we can't pre-arrange outcomes even with a seed we chose ourselves.
- INGREDIENT 3
Nonce
A counter that increases by one with each open you make under the current seed pair, so every open gets a unique, non-reusable input.
When you open a box, the three combine through HMAC-SHA512 — a standard, well-studied cryptographic function: HMAC-SHA512(serverSeed, clientSeed:nonce). The output is a number that’s unpredictable to everyone — including us — and that number is mapped onto the box’s published odds table to select your pair. Nothing else touches the result: no account history, no spend level, no time of day.
Verification. Server seeds rotate on a schedule (and any time you request it). When a seed rotates, we reveal the retired seed in full. You can then recompute every one of your past opens: hash the revealed seed to confirm it matches the fingerprint we committed to, run the same HMAC with your client seed and nonce, and confirm the result maps to the pair you actually pulled. Any HMAC-SHA512 implementation — a few lines of Python, an online tool, anything — will reproduce it exactly.
Verify a reveal
Verification widget — coming soon
An in-page verifier is on the way: paste a revealed server seed, your client seed, and nonce, and it will recompute your reveal right here in the browser. Until then, the in-app receipt for every open includes all three values plus the odds-table version, so you can verify with any HMAC-SHA512 tool.
Questions about a specific open?
Support can walk you through verifying any reveal on your account, step by step. Contact support — or read the full product walkthrough.