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
DocumentationCustom pools overview

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

Custom pools overview

Create a pool from your own NFT inventory, with standard delivery or an ETH-backed buyback choice.

A custom pool lets a creator supply their own NFTs and set the values used to price random purchases. The creator remains the pool's permanent owner. Buyers pay ETH for a Chainlink VRF draw from that pool's inventory.

You can buy for yourself or name another wallet as the purchaser. That wallet receives the NFT and owns any later refund or buyback choices, even if someone else paid. Buying for someone else does not require their signature. Every draw in a batch belongs to the same named purchaser. In these guides, the buyer means that purchaser.

Choose a pool type

Standard and buyback custom pools
FeatureStandard poolBuyback pool
Creator suppliesNFTs with assigned pricesNFTs and their full ETH backing
After a drawThe selected NFT is deliveredThe buyer chooses the NFT or an ETH payout
ETH alternativeNoneA configured share of the selected NFT's backing
Automatic reloadNoneOptional, using a separate ETH reserve

Read the standard pool or buyback pool guide for the complete purchase outcome.

How prices affect the draw

A lower-value listing is more likely to be selected. With one NFT valued at 1 ETH and another at 4 ETH, the first has an 80% chance and the second a 20% chance. The draw's expected assigned value is 1.6 ETH. At the default 5% edge, its purchase price is 1.68 ETH, plus the separate VRF service fee1.

In a standard pool, these values are prices chosen by the creator. In a buyback pool, they are the actual ETH backing held for each NFT. Neither value establishes what the NFT will sell for elsewhere. Review the collection, inventory, prices, and odds before buying.

Who receives the purchase payment?

The owner receives the base expected value plus half the edge; the protocol receives the other half of the edge. For a 1 ETH expected value at the default 5% edge, the buyer pays 1.05 ETH before VRF: 1.025 ETH accrues to the owner and 0.025 ETH accrues to protocol fees. Buyback-pool backing settles separately from this payment.

  • Only the owner can supply inventory. Both types support ERC721 NFTs without a collection whitelist.
  • Custom-pool purchases and listings do not directly earn the main pool's FWA purchaser or depositor rewards. The V2 configuration script routes protocol fees to FWAV2Buyback, which funds the main pool's token buybacks.
  • The owner controls local purchase access and inventory. Shared economics and platform purchase gates are controlled by the factory owner. See settings and defaults.

To start a pool, see creating and managing a pool for eligibility, funding, and permanent ownership.

Technical breakdown

  1. 1.
    Each listing has weight = floor(1e36 / value). Its probability is its weight divided by all active weights. Expected value is sum(weight × value) / sum(weight), the harmonic mean when inverse weights are exact. The pool price adds the factory's edge; the VRF quote additionally depends on the transaction gas price. Onchain calculations use integer rounding.
Previous
Launch settings
Next
Standard pools
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