ETH5050

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

FeatureETH5050 V2Manual Operator DrawsBasic Randomness
CostETH ticket gas + contract-funded VRF reserveManual processing overheadGas only
Token RequiredETH tickets and payoutsVaries by platformETH only
SecurityChainlink VRF v2.5Depends on operatorLow
Manipulation ResistantYesRequires trustNo
External DependenciesChainlink VRF + AutomationHuman/operator processNone, but weak security
SpeedAutomation trigger + VRF fulfillmentManual timingInstant 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.

Cannot Be ManipulatedPublicly VerifiableChainlink VRF + Automation