The mechanism
What makes a raffle provably fair?
Not the word “random”. Two properties, both checkable: the list was final before the number existed, and anyone can re-derive the result.
The taxonomy
Trust-me draws and verify-me draws
Every raffle draw belongs to one of two families. A trust-me draw happens where you cannot see it — a spreadsheet’s RAND, a Discord bot’s server, a wheel spun on a stream — and its evidence is a screenshot produced by the person you are being asked to trust. A verify-me draw happens in public: the entrant list is fixed in one transaction, the winning number arrives in another, and the selection can be repeated from public data by anyone, including the person who thinks it was rigged.
The gap between the two is not honesty — most trust-me draws are honest. It is that a trust-me draw cannot settle an accusation, and paid raffles attract accusations.
Where verifiable randomness comes from
Three honest options, each with a real home ground.
- Sui native randomness — what this platform uses. The number comes from the network’s own randomness beacon, produced inside consensus: no extra oracle to pay or trust, and the network refuses any transaction that tries to act on a random result after peeking at it. Its scope is Sui — which is where these raffles live.
- Oracle VRF (Chainlink and similar). A random number delivered by an outside network with a cryptographic proof. Portable across chains and battle-tested; the trade is an external dependency and a fee per request.
- drand and public randomness beacons. Free, public, verifiable randomness published on a schedule. Excellent for anything that can wait for the next round; awkward when the draw must be triggered by contract state rather than a clock.
— the source matters less than the seal. A perfect number drawn over a changeable list proves nothing.
Verify one yourself
Re-derive a real draw
Every completed draw on this platform links its sealed entrant list and its draw transaction. Pick any result and follow it line by line — the sealing timestamp, the randomness transaction, and the arithmetic from number to winner are all public.
Common questions
Can a crypto raffle be rigged?
A raffle whose draw runs off-chain can be rigged and cannot prove it was not. A raffle whose entrant list is sealed on-chain before an on-chain random number selects the winner cannot be rigged without breaking the chain itself — and anyone can re-derive the result.
What makes a draw "provably fair" rather than just "random"?
Two properties together: the entrant list must be provably final before the random number exists, and the selection must be re-derivable by a third party from public data. Randomness alone proves nothing if the list could change after the number was known.
What happens if a provably fair raffle does not sell out?
On protocolx.io, a raffle that misses its minimum ticket count lets every entrant claim a full refund from the contract. The refund is a contract path, not an organiser promise.