PREVIEW — CONTRACT NOT DEPLOYED

Settlement

After allocation, a purchaser keeps the NFT or sells it back to the depositor by accepting the pre-funded standing bid.

Allocation doesn't transfer anything right away. It marks the position as allocated to you and lets you choose how to settle1:

You can never keep both the NFT and the ETH; accepting the bid requires transferring the NFT to the depositor. You get an exclusive window to choose. Miss it, and the depositor can resolve it; miss a longer window, and anyone can finalize the default outcome (NFT to you, backing to the depositor), so nothing ever locks up. NFT delivery is defensive: a broken or malicious NFT contract can never block a settlement. The ETH still settles and the NFT is recorded as separately claimable later.

Technical breakdown

  1. Timeline: settlementWindow = 24h (purchaser only) → depositor may resolve → finalizeWindow = 7d (anyone). A purchaser's keep-NFT settlement is strict (reverts on failure, so they can fall back to accepting the bid); every other resolution delivers the NFT best-effort and, on failure, emits NFTDeliveryFailed and leaves it claimable through recoverStuckNFT (a successful recovery emits StuckNFTRecovered). The payable relistNFT path settles the old listing and creates its linked replacement atomically without transferring the NFT through the purchaser's wallet.