V2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.funV2 is now live at fwa.fun
MigrateDrops

Start here

  • How it works
  • Deployments

Main pool

  • Main pool overview
  • Positions & weighting
  • Pricing & allocation
  • Collections
  • NFT callbacks
  • Settlement
  • Sepolia deployment

Pool fees & rewards

  • Fees & protocol revenue
  • Crown reward

FWA token

  • $FWA overview
  • Earning & claiming
  • Buybacks & fee routing

FWAIR Launches

  • FWAIR overview
  • Backing a launch
  • Where funds go
  • Claims & recovery
  • Launch settings

Custom Pools

  • Custom pools overview
  • Standard pools
  • Buyback pools
  • Create & manage a pool
  • Pool settings & fees

Controls & safety

  • Exits & recovery
  • Roles & controls
  • Settings by product

Developers

  • Testing integrations
  • Deployment & integration

V1

  • V1 guide & settings
  • V1 contracts & testnet
DocumentationBuyback pools

Start here

  • How it works
  • Deployments

Main pool

  • Main pool overview
  • Positions & weighting
  • Pricing & allocation
  • Collections
  • NFT callbacks
  • Settlement
  • Sepolia deployment

Pool fees & rewards

  • Fees & protocol revenue
  • Crown reward

FWA token

  • $FWA overview
  • Earning & claiming
  • Buybacks & fee routing

FWAIR Launches

  • FWAIR overview
  • Backing a launch
  • Where funds go
  • Claims & recovery
  • Launch settings

Custom Pools

  • Custom pools overview
  • Standard pools
  • Buyback pools
  • Create & manage a pool
  • Pool settings & fees

Controls & safety

  • Exits & recovery
  • Roles & controls
  • Settings by product

Developers

  • Testing integrations
  • Deployment & integration

V1

  • V1 guide & settings
  • V1 contracts & testnet

Buyback pools

Back each NFT with ETH, give purchasers a settlement choice, and optionally reload returned inventory.

A buyback custom pool pairs each NFT with its full stated backing in ETH. After the draw, the selected NFT is reserved for the buyer while its backing stays escrowed. The buyer can keep the NFT or accept the configured ETH payout.

A purchase can name a different wallet from the payer. The named purchaser owns the NFT/ETH choice, buyback credits, and any later acquisition refund. Paying for someone else does not give the payer control over those rights. Immediate overpayment goes back to the wallet or router that called the pool.

The percentages and timing below are contract defaults. The factory owner can change them, and the values in effect at settlement also apply to NFTs allocated earlier. Check the pool's settings before choosing an outcome.

The buyer's choice

  • Keep the NFT. The NFT goes to the buyer. At the default split, 90% of its backing becomes owner proceeds and 10% becomes protocol fees.
  • Accept ETH. At the default split, the buyer receives a credit for 90% of the backing, the owner receives 0%, and the protocol receives the remaining 10%. The NFT returns to the owner or reloads into the pool.

The ETH payout is based on the selected NFT's backing, not the price paid for the draw. A 1 ETH backing gives the buyer a 0.9 ETH credit at the default split. The buyer then claims their accumulated credit to a chosen wallet. The purchase payment and VRF fee are separate from this settlement.

When someone else can settle

  • First six hours after allocation: only the buyer can select an outcome.
  • From six hours: the owner may also send the NFT to the buyer or choose the ETH payout for them.
  • From 24 hours: anyone may attempt to finalize delivery of the NFT to the buyer.

These are permissions to settle, not automatic scheduled transactions. The buyer keeps both choices until someone actually settles the allocation. The clock starts when the draw allocates the NFT, not when the purchase is submitted.

If NFT delivery fails, the position remains allocated with its backing intact. The buyer can try again or choose ETH. A failed attempt by the owner or a public finalizer also leaves those choices open. If the ETH branch has settled but return of the NFT to the owner fails, the buyer's ETH credit remains claimable while the owner recovers the NFT separately.

Automatic reload

The owner can fund a separate ETH reserve and enable automatic reload. When an ETH outcome settles, reload uses that reserve to list the same NFT again with its original full backing and a new listing ID. It works for both buyer-selected and owner-selected ETH outcomes.

The reserve must already hold the full backing before that settlement adds any owner share. If funds are insufficient or reload is unavailable, the ETH payout still settles and the NFT returns to the owner. A successful reload restarts the pool's inventory cooldown and respects pending-draw staging. To withdraw reserve ETH, the owner first disables reload.

Funding reload from purchase proceeds

An independent option sends future acquisition owner proceeds into the reserve. It starts off. Enabling it can build the reserve even while reload is disabled; it does not move proceeds already earned. The setting is read when a draw allocates its NFT.

With equally backed 1 ETH NFTs and default fees, a successful draw routes 1.025 ETH to the reserve. Reload after an ETH outcome uses 1 ETH, leaving 0.025 ETH more in the reserve for that complete cycle. Unequal backing values or changed fee settings can produce a different result. Gas and the separate buyer-paid VRF fee are outside this calculation.

Before allocation

Purchases use the same inventory commitment, cooldown, and ordered randomness process as standard pools. A missing or late random word, empty pool, or excessive price drift produces a withdrawable refund of the pool purchase price. The VRF service fee is excluded. Once the NFT is allocated, the NFT/ETH settlement above applies.

Previous
Standard pools
Next
Create & manage a pool
ByTokenWorks™
Operated by Token Workshop, Inc.Terms of Service

Explore

  • Home
  • Activity
  • Leaderboard

Protocol

  • $FWA
  • Deposit
  • Manage
  • Migrate

Fwair

  • Drops
  • Beta

Resources

  • V2 explained
  • Documentation
  • Changelog
  • X