HOOD5050

HOOD5050 Fairness Engine

Provably Fair Randomness

RandProof — verifiable on-chain 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

FeatureHOOD5050Manual Operator DrawsBasic Randomness
CostTicket gas + contract-funded draw reserveManual processing overheadGas only
Token RequiredETH or USDG tickets and payoutsVaries by platformETH only
SecurityRandProof (drand, EIP-2537 verified)Depends on operatorLow
Manipulation ResistantYesRequires trustNo
External DependenciesRandProof RNG + keeper networkHuman/operator processNone, but weak security
SpeedKeeper trigger + on-chain 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 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.

Cannot Be ManipulatedPublicly VerifiableRandProofRNG + RandProofAutomation