PackShade

Provably fair

Outcomes are decided before you see them, and the commitment is published in advance so we cannot change our mind after the fact.

The algorithm

ticket = HMAC_SHA256(server_seed, client_seed + ":" + nonce)
         -> take first 13 hex characters (52 bits)
         -> parse as integer
         -> modulo 1,000,000            => ticket in [0, 999999]
  • Each item in a pack owns a contiguous slice of the 0–999,999 ticket space. The slice widths are the odds — the published percentages are derived from them, not stored separately.
  • You see sha256(server_seed) before you open. The seed itself stays secret until you rotate it.
  • The nonce increments on every open, so no two opens can share a result.
  • Your client seed is yours to set. Change it whenever you like.
  • Rotating reveals the old server seed, at which point every past open under it can be recomputed by anyone.

HMAC rather than a plain sha512(client:server:nonce) concatenation, which is vulnerable to length-extension.

The other games

Every game draws from the same ticket wheel above. What changes is how the wheel is read.

  • Battles. The house commits a server seed when the battle is made and every seat adds its own client seed on joining. When the last seat fills, the battle’s client seed becomes the hash of the seat seeds in order and every round is drawn at once — nobody, including us, can know the result before the last player sits down.
  • Chase. One ticket, one item. The odds you pick own the first odds × 1,000,000 tickets; the chase wins if the ticket lands inside them. The price is odds × item value ÷ 0.92, so the house keeps 8% wherever you put the slider.
  • Climb. Ninety tickets are reserved when a round is dealt — ten rungs by nine lines, at nonce = base + rung × 9 + line. A line gets through a rung when its ticket falls under that rung’s per-line chance. Because only one line can ever be claimed, each rung stores the chance that at least one line survives it, taken from the prizes actually dealt; with k lines still standing each rolls against 1 − (1 − P)^(1/k). That is what makes every rung from the first up worth the same 95% of your stake — stopping early costs you nothing, and climbing is never a tax.

Your balance is in US dollars, credited 1:1 with the value of your crypto deposit and spent on packs. Prizes can be shipped to you or sold back to your balance at 90%. Withdrawals are not yet available. Prize imagery is real product photography of the item you receive. Play responsibly.

© 2026 PackShade