BASE5050

V3 Fairness Engine

Provably Fair Randomness

BASE5050 V3 uses RandProofRNG verifiable randomness for verifiable randomness and RandProofAutomation to trigger eligible raffle finalization across Base. Tickets and payouts are ETH and USDC on-chain.

Cannot Be Manipulated

Winner selection is requested from RandProofRNG, not generated by the raffle creator or BASE5050.

Publicly Verifiable

Every request, fulfillment, winner, and payout is recorded on-chain for anyone to inspect.

Automated Finalization

RandProofAutomation checks for ended or sold-out raffles and calls the contract when finalization is ready.

How It Works

RandProofRNG Verifiable Randomness

When a raffle is ready to close, the V3 smart contract requests randomness from RandProofRNG. The returned random seed 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. RandProofAutomation Calls The Contract

Automation performs upkeep checks and triggers finalization without manual operator control.

3. RNG Randomness Is Requested

The contract requests a verifiable random seed from the network-specific RandProofRNG coordinator.

4. Random Word Selects The Winning Ticket

The fulfilled RNG seed 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 RandProofRNG, not local contract entropy
  • The random seed is unknown until the RNG fulfillment transaction
  • The winning ticket is selected from actual tickets sold
  • Request and fulfillment data are publicly visible on-chain

Cannot Be Manipulated

  • RandProofAutomation can trigger finalization but cannot choose the winner
  • The creator cannot supply or override the random seed
  • BASE5050 cannot manually set the winner
  • No admin override functions exist

Verifiable On-Chain

  • Every transaction is recorded on the blockchain
  • RNG 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

V3 Automation

  • RandProofAutomation monitors finalizable raffles
  • Direct-funding RNG reserves are handled by the contract
  • Fallback finalization can be called after the grace period
  • Ticket purchases and prize payouts use native ETH

Comparison

BASE5050 V3 vs Other Draw Models

FeatureBASE5050 V3Manual Operator DrawsBasic Randomness
CostETH ticket gas + contract-funded RNG reserveManual processing overheadGas only
Token RequiredETH tickets and payoutsVaries by platformETH only
SecurityRandProofRNGDepends on operatorLow
Manipulation ResistantYesRequires trustNo
External DependenciesRandProofRNG + AutomationHuman/operator processNone, but weak security
SpeedAutomation trigger + RNG 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 & RANDPROOF Scan.

2. Check the RNG Request

Find the RandomnessRequested event for the raffle ID and its RandProofRNG event ID.

3. Confirm Fulfillment

The RNG 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.

Powered By RandProof

Verifiable Randomness & Decentralized Automation

BASE5050 Ethereum raffle illustration
BASE5050 RandProof Network illustration

FAQ

Frequently Asked Questions

Does BASE5050 V3 use RandProofRNG?

Yes. BASE5050 V3 uses RandProofRNG verifiable randomness. Users buy tickets and receive payouts in ETH or USDC, while the contract maintains a finalization reserve for RNG costs.

Can the contract owner manipulate results?

No. The owner cannot override the winner. Once RNG 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, RNG 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

RandProofRNG randomness. RandProofAutomation finalization. ETH and USDC raffles on Base.

Cannot Be ManipulatedPublicly VerifiableRandProofRNG + Automation