V2 Fairness Engine
Provably Fair Randomness
ETH5050 V2 uses Chainlink VRF v2.5 direct funding for verifiable randomness and Chainlink Automation to trigger eligible raffle finalization across Base, Optimism, and Arbitrum. Tickets and payouts remain ETH-native.
Cannot Be Manipulated
Winner selection is requested from Chainlink VRF v2.5, not generated by the raffle creator or ETH5050.
Publicly Verifiable
Every request, fulfillment, winner, and payout is recorded on-chain for anyone to inspect.
Automated Finalization
Chainlink Automation checks for ended or sold-out raffles and calls the contract when finalization is ready.
How It Works
Chainlink VRF v2.5 Direct Funding
When a raffle is ready to close, the V2 smart contract requests randomness from Chainlink VRF. The returned random word is fulfilled on-chain, then used to select a winning ticket from the sold tickets.
1. Raffle Becomes Finalizable
A raffle is ready when the end time passes or every ticket is sold.
2. Chainlink Automation Calls The Contract
Automation performs upkeep checks and triggers finalization without manual operator control.
3. VRF Randomness Is Requested
The contract requests a verifiable random word from the network-specific Chainlink VRF wrapper.
4. Random Word Selects The Winning Ticket
The fulfilled VRF word is reduced against tickets sold to identify the winning ticket number.
5. ETH Is Split 50/50
The contract pays or credits 50% of the pool to the winner and 50% to the raffle creator.
Trust Layer
Why This Is Provably Fair
Cannot Be Predicted
- Randomness is produced by Chainlink VRF, not local contract entropy
- The random word is unknown until the VRF fulfillment transaction
- The winning ticket is selected from actual tickets sold
- Request and fulfillment data are publicly visible on-chain
Cannot Be Manipulated
- Chainlink Automation can trigger finalization but cannot choose the winner
- The creator cannot supply or override the random word
- ETH5050 cannot manually set the winner
- No admin override functions exist
Verifiable On-Chain
- Every transaction is recorded on the blockchain
- VRF request and fulfillment events are recorded on-chain
- Raffle state, winner, and prize split are visible from the contract
- Smart contract code and deployed addresses are public
V2 Automation
- Chainlink Automation monitors finalizable raffles
- Direct-funding VRF reserves are handled by the contract
- Fallback finalization can be called after the grace period
- Ticket purchases and prize payouts use native ETH
Comparison
ETH5050 V2 vs Other Draw Models
| Feature | ETH5050 V2 | Manual Operator Draws | Basic Randomness |
|---|---|---|---|
| Cost | ETH ticket gas + contract-funded VRF reserve | Manual processing overhead | Gas only |
| Token Required | ETH tickets and payouts | Varies by platform | ETH only |
| Security | Chainlink VRF v2.5 | Depends on operator | Low |
| Manipulation Resistant | Yes | Requires trust | No |
| External Dependencies | Chainlink VRF + Automation | Human/operator process | None, but weak security |
| Speed | Automation trigger + VRF fulfillment | Manual timing | Instant but unsafe |
Verify
How to Verify a Winner
Every finalization path leaves public contract evidence: request events, fulfillment, winner address, completion state, and the 50/50 ETH accounting.
1. View the Transaction
After a raffle completes, open the raffle contract on BaseScan, Optimistic Etherscan, or Arbiscan.
2. Check the VRF Request
Find the RandomnessRequested event for the raffle ID and its Chainlink VRF request ID.
3. Confirm Fulfillment
The VRF fulfillment updates the raffle winner and marks the raffle completed on-chain.
4. Confirm Winner Selection
Verify that the completed raffle shows the winner address and 50/50 ETH prize split from contract state and events.
FAQ
Frequently Asked Questions
Does ETH5050 V2 use Chainlink VRF?
Yes. ETH5050 V2 uses Chainlink VRF v2.5 direct funding. Users buy tickets and receive payouts in ETH, while the contract maintains a finalization reserve for VRF costs.
Can the contract owner manipulate results?
No. The owner cannot override the winner. Once VRF returns randomness, the smart contract uses it to select the winning ticket and finalize the payout path.
Can I verify the winner myself?
Yes. You can inspect the raffle contract, VRF request event, fulfillment, winner address, and prize accounting directly on the relevant block explorer.
What if someone controls multiple wallets?
Each ticket has an equal chance regardless of who owns it. Multiple wallets do not affect randomness; they only represent more paid tickets.
Every Winner Is Selected Fairly
Chainlink VRF randomness. Chainlink Automation finalization. ETH-native raffles across Ethereum L2.