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
| Feature | BASE5050 V3 | Manual Operator Draws | Basic Randomness |
|---|---|---|---|
| Cost | ETH ticket gas + contract-funded RNG reserve | Manual processing overhead | Gas only |
| Token Required | ETH tickets and payouts | Varies by platform | ETH only |
| Security | RandProofRNG | Depends on operator | Low |
| Manipulation Resistant | Yes | Requires trust | No |
| External Dependencies | RandProofRNG + Automation | Human/operator process | None, but weak security |
| Speed | Automation trigger + RNG 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 & 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


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.