Provably Fair Randomness
Every winner is selected using cryptographically secure randomness that cannot be predicted or manipulated. No external tokens required - Pure TON only.
Cannot Be Manipulated
Uses TON's native randomness combined with multiple entropy sources
Publicly Verifiable
Every transaction is on-chain. Anyone can verify the winner selection
TON Only
No external tokens or oracles required. Pure on-chain randomness
How It Works
Multiple Entropy Sources
When a raffle completes, the smart contract combines multiple sources of randomness that cannot be predicted:
On-Chain Randomness Seed
Built into TON Blockchain. Generated by validators using cryptographic randomness.
Future Block Hash
Hash of the block when raffle completes - unknown when raffle was created.
Time-Based Entropy
Block timestamp and block number at time of completion.
Raffle-Specific Data
Creator address, start/end times, ticket count, prize amount, and all participant addresses.
Transaction Data
Caller address and contract address.
Why This Is Provably Fair
✅ Cannot Be Predicted
- • Random seed uses data that doesn't exist until completion
- • Future block hashes are impossible to predict
- • Multiple entropy sources create astronomical unpredictability
- • Probability space: enormous number of possible outcomes
✅ Cannot Be Manipulated
- • Validators cannot control randomness
- • Completion only triggers the function, doesn't control entropy
- • Creator has no control over future blocks
- • No admin override functions exist
✅ Verifiable On-Chain
- • Every transaction recorded on blockchain
- • All entropy sources publicly visible
- • Anyone can verify the calculation
- • Smart contract code is open source
✅ No External Dependencies
- • No LINK tokens required
- • No oracle fees
- • No external API calls
- • Pure TON only
Comparison with Other Solutions
| Feature | TON5050 VRF | Chainlink VRF | Basic Randomness |
|---|---|---|---|
| Cost | Gas only (~$1-5) | Gas + LINK (~$5-20) | Gas only (~$1-5) |
| Token Required | ✅ TON only | ❌ LINK required | ✅ Native token only |
| Security | ✅ Very High | ✅ Highest | ❌ Low |
| Manipulation Resistant | ✅ Yes | ✅ Yes | ❌ No |
| External Dependencies | ✅ None | ❌ Oracle required | ✅ None |
| Speed | ✅ Instant | ❌ 1-3 blocks delay | ✅ Instant |
How to Verify a Winner
1. View the Transaction
After a raffle completes, view the transaction on the TON Blockchain explorer using the transaction hash.
2. Check the Input Data
The transaction shows the function called (completeRaffle), raffle ID, block number, and timestamp.
3. Verify the Random Seed
Anyone can recalculate the random seed using publicly available blockchain data.
4. Confirm Winner Selection
Verify that
winningTicket = randomSeed % totalTicketsmatches the declared winner.
Frequently Asked Questions
Why not use Chainlink VRF?
Chainlink VRF is excellent but requires LINK tokens. TON5050 is a TON-only platform. Our solution provides comparable security for raffle use cases without external token dependencies or oracle fees.
Can the contract owner manipulate results?
No. The contract has no admin override functions. Winner selection is purely mathematical and verifiable. Even the contract owner cannot change the outcome.
Can I verify the winner myself?
Yes! All data is on-chain. You can recalculate the random seed and verify the winner selection using publicly available blockchain data on the TON Blockchain explorer.
What if someone controls multiple wallets?
Each ticket has an equal chance regardless of who owns it. Multiple wallets don't affect randomness - they just mean that person owns more tickets (which they paid for fairly).
Every Winner Is Selected Fairly
Cryptographically secure. Publicly verifiable. No external tokens. No exceptions.
