Using the protocol

04 / 11

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 pack-opening animation is theatre over a finished fact. It begins only after your settlement event is observed onchain and decelerates onto the already-settled result. The frontend cannot influence, preview, or re-roll outcomes.

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.