Docs · The draw
How the winner is picked
The draw starts the moment a prize pool fills. It takes four steps, and the order is what makes it fair.
01
Lock
The final ticket list is fingerprinted (SHA-256) and the fingerprint is posted on Solana. The list can no longer change.
02
Request
LOOTBOX asks ORAO VRF, an independent randomness service on Solana, for a random number.
03
Pick
That number is turned into one ticket number, using public math with no bias.
04
Reveal
The winning ticket rolls on the live page. The wallet holding it wins.
Why it can't be rigged
- The list is locked before the randomness exists. Nobody can add, remove or move tickets after seeing the result, because the list's fingerprint is already on-chain.
- We can't choose or predict the randomness. ORAO VRF produces it with a cryptographic proof that it wasn't tampered with, and anyone can check that proof on-chain.
- The math is public and deterministic. The same list and the same random number always give the same winner. Anyone can reproduce a draw.
- The animation is only a reveal. The ticket rolling on the live page shows a result that's already on-chain. It doesn't pick anything.
How a random number becomes a ticket
- Tickets are numbered in order of wallet address. If the first wallet holds 40 tickets, it owns #1–#40, the next wallet starts at #41, and so on.
- ORAO VRF returns 64 random bytes, read as one very large number.
- That number is mapped onto the ticket range with rejection sampling: if it falls in the tiny leftover zone that would favor low ticket numbers, it's re-hashed and tried again. Every ticket gets exactly the same chance.
- The ticket number it lands on belongs to exactly one wallet. That wallet wins.
If something goes wrong
- The randomness request fails. It's requested again. The ticket list is already locked, so a retry can't change who's in the draw.
- The winner doesn't claim.
Rule
If the winner doesn't claim within 14 days, the prize is redrawn from the same locked ticket list, using new randomness.