HOOD5050 Fairness Engine
Provably Fair Randomness

HOOD5050 uses RandProof for verifiable randomness — drand Quicknet verified on-chain via EIP-2537 — and a decentralized keeper network to trigger eligible raffle finalization on Robinhood Chain. The contract has no owner and no admin functions. Tickets and payouts settle in ETH or USDG.
Cannot Be Manipulated
Winner selection comes from a drand Quicknet beacon anchor verified on-chain via EIP-2537, not generated by the raffle creator or HOOD5050.
Publicly Verifiable
Every request, fulfillment, winner, and payout is recorded on-chain for anyone to inspect.
Automated Finalization
The RandProof keeper network checks for ended or sold-out raffles and calls the contract when finalization is ready.
How It Works
RandProof Verifiable Randomness
When a raffle is ready to close, the HOOD5050 smart contract requests a draw from the RandProof KeeperCoordinator. The seed derives from a drand Quicknet round verified on-chain via EIP-2537, then is used to select a winning ticket from the sold tickets — with a permanent on-chain proof.
1. Raffle Becomes Finalizable
A raffle is ready when the end time passes or every ticket is sold.
2. Keepers Trigger Finalization
RandProofAutomation performs upkeep checks and triggers finalization without manual operator control.
3. Randomness Is Requested
The contract requests a draw from the RandProof KeeperCoordinator, pinning the next drand Quicknet round.
4. Verified Seed Selects The Winning Ticket
The fulfilled seed — derived from the drand beacon verified on-chain — is reduced against tickets sold to identify the winning ticket number.
5. Prize Is Split 50/50
The contract pays or credits 50% of the pool to the winner and 50% to the raffle creator in the raffle's currency.
Trust Layer
Why This Is Provably Fair
Cannot Be Predicted
- Randomness derives from the drand Quicknet beacon, verified on-chain via EIP-2537
- The seed is unknown until the fulfillment transaction
- The winning ticket is selected from actual tickets sold
- Request and fulfillment data are publicly visible on-chain
Cannot Be Manipulated
- The keeper network can trigger finalization but cannot choose the winner
- The creator cannot supply or override the seed
- HOOD5050 cannot manually set the winner
- No admin override functions exist — the contract has no owner
Verifiable On-Chain
- Every transaction is recorded on the blockchain
- Every draw produces a permanent RandProof artifact (seed, signatures, committee) queryable via getRandProof
- Raffle state, winner, and prize split are visible from the contract
- Smart contract code and deployed addresses are public
Automation
- RandProofAutomation monitors finalizable raffles
- Draw fees are paid from the contract-funded finalization reserve
- Fallback finalization can be called by anyone after the grace period
- Ticket purchases and prize payouts settle in the raffle's currency (ETH or USDG)
Comparison
HOOD5050 vs Other Draw Models
| Feature | HOOD5050 | Manual Operator Draws | Basic Randomness |
|---|---|---|---|
| Cost | Ticket gas + contract-funded draw reserve | Manual processing overhead | Gas only |
| Token Required | ETH or USDG tickets and payouts | Varies by platform | ETH only |
| Security | RandProof (drand, EIP-2537 verified) | Depends on operator | Low |
| Manipulation Resistant | Yes | Requires trust | No |
| External Dependencies | RandProof RNG + keeper network | Human/operator process | None, but weak security |
| Speed | Keeper trigger + on-chain 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 prize accounting in ETH or USDG.
1. View the Transaction
After a raffle completes, open the raffle contract on the Robinhood Chain block explorer.
2. Check the Draw Request
Find the RandomnessRequested event for the raffle ID and its RandProof eventId.
3. Confirm Fulfillment
Look up the eventId via getRandProof on the coordinator (or RandProofScan) — the seed updates the raffle winner and marks it completed on-chain.
4. Confirm Winner Selection
Verify that the completed raffle shows the winner address and 50/50 prize split in the raffle's currency from contract state and events.
FAQ
Frequently Asked Questions
Does HOOD5050 use verifiable randomness?
Yes. HOOD5050 uses RandProof — draws are anchored to the drand Quicknet beacon and verified on-chain via the EIP-2537 precompile. Users buy tickets and receive payouts in ETH or USDG, while the contract maintains a finalization reserve for draw fees.
Can the contract owner manipulate results?
No. There is no owner at all — the HOOD5050 contract has zero admin functions. Once RandProof returns the seed, 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, draw request event, the RandProof artifact (getRandProof), winner address, and prize accounting directly on the relevant block explorer or RandProofScan.
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
RandProof randomness. Decentralized keeper finalization. ETH & USDG raffles on Robinhood Chain.