Every RaffleBot draw is decided by a public randomness beacon nobody — not even us — can predict or fake. The entry list is sealed before the beacon exists; paste a Draw ID and your browser pulls the beacon and recomputes the winner from scratch.
Three commitments make every draw reproducible by anyone, forever — no account, no special software, no faith required.
When sales close, the complete sold-ticket ledger is hashed into a public commitment before the beacon exists. We can't add, remove, or reassign a single entry after the fact without the hash changing.
Winners come from drand, a public beacon run by an independent global network. Your browser fetches it directly — nobody can predict or swap a round, including RaffleBot.
ticket = (sha256(rand + ":" + attempt) mod total_tickets) + 1, trying attempt 1, 2, 3… until a sold ticket. Deterministic and open — a calculator is enough to land on the exact same ticket we did.