Standard pools
Owner-priced NFT inventory, inverse-price odds, and automatic delivery after a successful draw.
A standard custom pool holds the owner's NFTs and delivers one to the buyer after a random draw. The owner assigns each listing a price but does not deposit ETH to back it. That price determines the odds and purchase price; it is not a guaranteed resale value or a buyback offer.
Buying from a standard pool
- Review the inventory, assigned values, selection odds, and any purchase restriction. Choose yourself or another wallet as the purchaser. The owner's optional purchase policy checks that named wallet's eligibility.
- Pay the quoted pool price plus the VRF service fee. Immediate overpayment goes back to the wallet or router that called the pool. Each draw requests its own random word; all draws in a batch belong to the same purchaser.
- Wait for randomness and processing. Draws settle in the order purchases were requested within this pool. A later result may wait for an earlier request to finish or expire.
- On successful delivery, the NFT belongs to the named purchaser and leaves the pool. The owner's proceeds and protocol fee become available only after delivery is verified.
When inventory changes
Owner listings, withdrawals, and price changes start a purchase cooldown, initially five minutes. Your purchase is tied to the inventory version you reviewed and a transaction deadline. It reverts if that version changes before the purchase is accepted, or if the deadline or cooldown check fails.
While a draw is unresolved, the owner cannot withdraw or reprice active inventory. Newly listed NFTs wait in a queue and enter according to the request ordering rules. Earlier draws can still change the remaining pool, so the contract checks price drift again when your draw is processed.
Pending draws and refunds
A missing or late random word, an empty pool at processing, or price drift beyond the request's tolerance produces a refund credit for the pool purchase price. The named purchaser must withdraw that credit, including when someone else paid for the draw. The VRF service fee is excluded because it funded the randomness request and callback coverage.
If the selected NFT cannot be delivered, the NFT and purchase payment remain held for that buyer. Other draws can continue. Anyone can retry delivery of the same NFT to the same buyer before the fixed seven-day delivery deadline.
At that deadline, retries close and only the buyer can request a failed delivery refund, then withdraw the credited purchase price. The owner can recover the NFT after the refund is recorded. Failed delivery does not reroll the draw or put the NFT back into the pool automatically.
For pool owners
Approve and list your ERC721s at the values you want to publish. You may change or withdraw active listings once all requested draws have settled. A selected listing awaiting delivery is reserved for its buyer. Pausing or retiring the pool preserves pending deliveries, refunds, and your right to withdraw proceeds already earned.
See creating and managing a pool for the owner workflow, or buyback pools for pools that offer an ETH outcome.