ETH5050 Logo

Provably Fair Randomness

Every winner is selected using cryptographically secure randomness that cannot be predicted or manipulated. No LINK tokens required - Pure ETH only.

Cannot Be Manipulated

Uses Ethereum's native randomness beacon combined with 10+ entropy sources

Publicly Verifiable

Every transaction is on-chain. Anyone can verify the winner selection

ETH Only

No external tokens or oracles required. Pure Ethereum randomness

How It Works

Multiple Entropy Sources

When a raffle completes, the smart contract combines multiple sources of randomness that cannot be predicted:

Ethereum's Randomness Beacon (block.prevrandao)

Built into Ethereum after The Merge. 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, gas price, 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
  • • 10+ entropy sources create astronomical unpredictability
  • • Probability space: 10^924 possible outcomes

✅ Cannot Be Manipulated

  • • Validators cannot control randomness beacon
  • • Keeper only triggers 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 ETH only

Comparison with Other Solutions

FeatureETH5050 VRFChainlink VRFBasic Randomness
CostGas only (~$1-5)Gas + LINK (~$5-20)Gas only (~$1-5)
Token Required✅ ETH only❌ LINK required✅ ETH 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. 1. View the Transaction

    After a raffle completes, view the transaction on Etherscan using the transaction hash.

  2. 2. Check the Input Data

    The transaction shows the function called (completeRaffle), raffle ID, block number, and timestamp.

  3. 3. Verify the Random Seed

    Anyone can recalculate the random seed using publicly available blockchain data.

  4. 4. Confirm Winner Selection

    Verify that winningTicket = randomSeed % totalTickets matches the declared winner.

Frequently Asked Questions

Why not use Chainlink VRF?

Chainlink VRF is excellent but requires LINK tokens. ETH5050 is an ETH-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 Etherscan.

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.

✅ Cannot Be Manipulated✅ Publicly Verifiable✅ ETH Only