Verifiable outcomes
Before you open anything we commit to a secret server seed by showing you its SHA-256 hash. Every open computesHMAC_SHA256(serverSeed, clientSeed:nonce)→ the first 52 bits become a roll in [0, 1) → the roll walks the case's drop-rate table. Rotate your seeds any time: the old server seed is revealed so you can recompute every past roll.
Runs entirely in your browser with WebCrypto.
To map a roll to a drop: sort the case's drops in the order shown on the case page API (/api/crates/<slug> lists drop rates), then walk cumulative probability until it exceeds the roll.

