Every rip on RasslinRips is decided by math you can check — not by a server you have to trust. Here's the whole scheme in plain language.
Each day we generate a secret server seed and publish its SHA-256 hash immediately (the list below). The hash is a sealed envelope: it proves the seed existed and can't be swapped later, without revealing it.
Your account has a client seed you can change any time. Because the server seed is committed before your rip and your client seed belongs to you, neither side can steer an outcome.
For pull number n of a pack, the tier roll is HMAC-SHA256(serverSeed, clientSeed:n:tier) — the first 8 hex characters become a number between 0 and 1, mapped onto the pack's published odds table (the same one on every pack page, in basis points). A second HMAC with :item picks the exact card from that tier's pool. Outcomes are computed and saved before any animation plays — the rip room is replaying a decision, never making one.
Seeds rotate daily; each retired seed's plaintext is published below. Hash it yourself to confirm it matches the commitment, then recompute any of your past rips on the verification page — it runs the HMACs in your own browser and compares them to what we stored.
| Active from | SHA-256 commitment | Revealed seed |
|---|---|---|
| 2026-08-17 22:30 | e955ed7a897efaff7876f3830f6e384bbbf313ce69d373a52a2c1f8cd9b73640 | active — reveals on rotation |