Guide

How It Works

Human-verified 50/50 raffles on World Chain — verify once, pay in USDC or WLD, and let Chainlink CRE handle the draw and payouts automatically.

1 human · 1 ticketUSDC or WLDCRE verified draw

Flow

Four steps. Fully automated.

From World ID verification to automatic settlement — every step is on-chain and trustless.

01

Verify with World ID

Every creator and ticket buyer proves they are a unique, Orb-verified human using a zero-knowledge proof. One person, one entry per raffle — no bots, no Sybil wallets.

02

Create a raffle

Verify with World ID, then choose USDC or WLD as the raffle currency. Pay the flat creation fee ($10.00 USDC or 10.00 WLD to wld5050.eth), set a name and duration (any length — 1 minute to 1 year+). Your raffle is live on-chain immediately.

03

Buy a ticket

Verify with World ID, then pay $2.50 USDC or 2.50 WLD per ticket. Funds sit in escrow until settlement. The same human cannot buy twice — nullifier hashes are checked on-chain.

04

CRE settles automatically

When the deadline passes, Chainlink CRE selects a verifiable random winner, splits ticket revenue 50/50, and pushes payouts to winner and creator in one atomic transaction. No claim button.

Authentication

Privy wallet integration

World ID proves you are human. Privy gives you a wallet to sign on-chain — create raffles, buy tickets, and view your dashboard without managing keys manually.

WLD5050 uses Privy's React SDK paired with Wagmi. Login stays in a modal; contract calls route through your embedded or external wallet on World Chain.

  1. 01Click Connect Wallet in the nav — Privy opens a secure login modal
  2. 02Sign in with email, Google, or an existing external wallet
  3. 03New users get an embedded wallet on World Chain automatically
  4. 04Wagmi signs create, buy, and dashboard reads against your address

Multiple login methods

Email, Google, or connect an existing wallet. Privy handles session management so you stay signed in across pages.

Embedded wallets

Users without a wallet get one provisioned on first login — no seed phrase, no browser extension required.

World Chain + Ethereum

Privy and Wagmi default to World Chain for raffles. Winners switch to Ethereum mainnet only to claim their optional ENS badge.

Stack

Privy React Auth · Privy Wagmi · World Chain · embedded wallets on login

Pricing

Fixed fees. Transparent splits.

All amounts are hardcoded in the contract — no hidden fees, no oracle conversions. Creators choose USDC or WLD at raffle creation; every ticket and payout uses that same token.

ActionUSDCWLD
Create raffle$10.00 USDC10.00 WLD
Ticket price$2.50 USDC2.50 WLD
Winner receives50% of ticket sales50% of ticket sales
Creator receives50% of ticket sales50% of ticket sales

1 ticket sold

Winner + creator each receive

$1.25

or 1.25 WLD

10 tickets sold

Winner + creator each receive

$12.50

or 12.50 WLD

100 tickets sold

Winner + creator each receive

$125.00

or 125.00 WLD

1000 tickets sold

Winner + creator each receive

$1,250.00

or 1,250 WLD

Creation fee is separate from ticket revenue — platform earns $10.00 USDC or 10.00 WLD per raffle created.

Integrations

USDC, WLD, CRE, and ENS

Three integrations power every raffle — dual-token payments, trustless settlement, and human-readable identities.

USDC & WLD

Dual-token escrow

Creators pick USDC or WLD when launching a raffle. All tickets and payouts use the same token — simple escrow, no swaps inside the contract. Fixed amounts on-chain: no oracle dependency on World Chain.

  • USDC · 6 decimals · World Chain native
  • WLD · 18 decimals · World Chain native
  • Frontend handles token approvals before each tx

Chainlink CRE

Automation & randomness

Winner selection and prize distribution run on Chainlink's Decentralized Oracle Network via the Chainlink Runtime Environment. CRE workflows read expired raffles, generate verifiable randomness, and call onReport() through the Keystone Forwarder.

  • 30-second cron trigger on expired raffles
  • BFT consensus randomness (runtime.Rand)
  • Confidential AI fairness attestation hash on-chain
  • Atomic USDC/WLD push to winner + creator

ENS

Readable identities

ENS replaces raw hex addresses across the UI. When CRE settles a raffle, the contract reserves winner-round{N}.wld5050.eth. Winners can claim that badge on Ethereum mainnet (they pay L1 gas) — a shareable trophy name, separate from World Chain payout proof.

  • Hosts, buyers, and winners shown by ENS name where available
  • winner-round{N}.wld5050.eth — optional claim on Ethereum L1
  • Worldscan token transfers remain the payment proof

ENS integration

Winner badges on Ethereum

WLD5050 runs human-verified 50/50 raffles on World Chain. When Chainlink CRE settles via agent.wld5050.eth, the winner claims winner-round{N}.wld5050.eth on Ethereum — a subname registry that turns a cross-chain win into a global, verifiable ENS identity.

Human-verified winners get a portable ENS trophy that works in any wallet or app.

  1. 01Chainlink CRE settles the raffle on World Chain — USDC or WLD payouts land automatically.
  2. 02The contract reserves winner-round{N}.wld5050.eth for that round.
  3. 03The winner connects the winning wallet and clicks Claim badge on Ethereum mainnet.
  4. 04They pay L1 gas; our verified registrar mints the subname under wld5050.eth.
  5. 05The name resolves globally on app.ens.domains — a portable trophy anyone can verify.

Badge, not an NFT drop

  • Conceptually: a public trophy you can share — “I won WLD5050 round 2.”
  • Technically: an ENS subname under wld5050.eth, not a typical NFT collection drop.
  • Human-readable name tied to your address — works across wallets and apps.
  • NameWrapper may tokenize as ERC-1155, but the experience is “my winner ENS badge.”
  • No artwork or OpenSea PFP — identity proof, not an NFT drop.

Payment proof

Worldscan token transfers on World Chain — CRE settlement tx shows both 50/50 payouts.

Winner badge

Optional winner-round{N}.wld5050.eth on Ethereum L1 — shareable identity, claimed by the winner.

L1 registrar

WinnerEnsClaimRegistrar · 0xef9ad4bd204eace9d2b2a0f53326c7e83e8c49f9

Chainlink CRE

Settlement pipeline

When a raffle ends, CRE runs the full draw and payout flow without any human operator. USDC or WLD is pushed to winner and creator in the same transaction.

  1. 01CRE workflow reads getExpiredRaffles() on World Chain
  2. 02AgentKit human-backed verification check
  3. 03Confidential AI fairness attestation (TEE)
  4. 04Verifiable randomness via CRE DON consensus
  5. 05onReport() → winner + creator paid in one tx
  6. 06RaffleSettled event → winner may claim ENS badge on L1

Command Palette

Search for a command to run...