Spins & settlement
From pack purchase to tokens in your wallet: escrow, a verifiable draw, strict first-in-first-out settlement, and pull-based refunds if anything goes wrong.
- Purchase —
spin(tier, maxPrice)escrows your $IWA (not spent yet) and requests a random word. If the pool's oracle value is below its floor the purchase reverts — no packs are sold against a thin pool, and sales resume automatically when the Stocker refills it. - The draw — the random word lands onchain from the active randomness provider. Nothing about your outcome exists anywhere before this moment: not on a server, not in the frontend.
- Settlement — spins settle strictly in creation order per pool. Your word walks through the live weights, the winning lot is removed from inventory before transfer, and the stock tokens land in your wallet. One transaction, one event:
SpinSettled. - The split — only now is your escrow spent: 50% burned, 50% to the Stocker for more inventory. Burn + restock + refunds always equals 100% of every payment.
Refunds
If the pool ran empty before your turn, or the randomness delivery missed its 2-hour deadline, your full pack price becomes a refund credit you withdraw yourself with claimRefund() — pull-based, claimable once, never dependent on anyone's cooperation. The small network draw fee is not refunded.
The reveal
Note
The whale lot
5% of every Stocker deployment accrues toward one configured marquee prize — at launch, 1.0 NVDA. Progress is a public view (whaleProgress()) rendered live in the app; when fully funded, the lot is bought and dropped into the Degen pool automatically. The deposit is the announcement.