Game
The live round — watch the pot fill, take a slice, see the spin.
- Pot progress — X / threshold ETH, real fill % (no synthetic scarcity), dual countdown
- Round state — Filling → Drawing → Drawn → Settled (empty rounds expire; no refunds); a purchase racing the lock lands in the (already open) next round, surfaced with plain copy
- Wheel — buyer slices; my tickets + live odds (my tickets ÷ total)
- Buyer list — addresses and shares, live
- Ticket-buy panel — amount input, min/cap inline validation, balance precheck → wallet confirm (native ETH, no approve); one-tap repeat
- Finalize — permissionless finalizeRound once the deadline passes: draws with ≥1 ticket sold, rolls an empty round over
- Activity ticker — real on-chain events only, expandable, per-event CTA; quiet periods fall back to cumulative stats