FWA · background
What FWA is and how it works
FWA is an onchain random-value market: depositors escrow assets with hard-money backing, pullers pay to draw one at random, and every draw settles as keep-the-asset or a guaranteed cash bid.
How FWA works
Every mechanical claim in this paper rests on deployed sourceThe actual contracts running FWA on Ethereum. Anyone can read their code and current settings:
FWA core: 0xB276…Ac1c
FWAToken: 0xa0Df…C845
FWARewards: 0x6a1a…fc78
OwnerSplitter (trade tax): 0x7400…ec04
Splitter (fee remainder): 0x1c17…3bfe
Also FWATokenHook and FWAERC20Wrapper, linked from the core contract. Every number in this paper is read from these (see Method)..
The figures on this page were last updated on August 20, 2026.
FWA is an on-chain random-value market: depositors escrow NFTs with ETH backing, pullers pay the harmonic-mean backingThe backing you should expect to draw. Every listing has ETH backing. Listings with less backing are drawn more often (a listing's odds are proportional to 1 ÷ its backing). Because of that, the expected backing of a draw is not the plain average but the harmonic mean: number of listings ÷ the sum of (1 ÷ backing). Today ≈ 0.0768 ETH. A pull costs this plus a 2.5% surcharge. plus a surcharge for a verifiable-randomA draw no participant can rig. The random number comes from Chainlink VRF and anyone can check it was not tampered with. The puller prepays its gas (~1.04M gas). The one exception is the owner key, which can repoint the VRF coordinator. Neither the House nor the puller can steer the result. draw, and every draw settles as keep-the-asset or take a cash bid worth 90% of backingThe cash floor. Whatever you draw, you can always take 90% of that listing's ETH backing in cash instead of the asset. The ETH is already in escrow, so the offer cannot be withdrawn; the other 10% goes to the protocol. That is the 87.7% floor: 90% × the expected backing ÷ what a pull costs..
The money flow of one pull:
Every pull flows through an onchain sequence that impacts five participant groups, each with their own set of actions and their own incentives.
Pullers
Pay for a chance to win an asset, with a cash guarantee fallback. A puller has one move in: pay the pull price, the harmonic-mean backing plus the 2.5% surcharge, plus the VRF prepay and gas, ≈0.0789 ETH all-in today, for one verifiable-random draw that lands on a listing with odds proportional to 1 ÷ its backing. What it holds afterwards is a claim on that listing, and the contract gives it 24 hours to settle the claim one of four ways:
Each branch is priced by the contract, so what a pull returns is arithmetic. RTP, what a player gets back per unit wagered, is the incumbents' yardstick and it is auditable from onchain state. For FWA it is the sum of three terms: the cash floor the escrow guarantees, the asset option value of the draws that are kept rather than sold back, and the $FWA rebate, valued at spot:
Today FWA returns 92.0 of 100 points at spot: 87.7 cash floor, ~0.1 asset option value, 4.2 $FWA rebate. The other 8.0 is what the pull costs: the surcharge, the protocol's settlement take, and the VRF prepay and gas, net of the $FWA rebate.
Depositors
List an NFT with ETH backing and you are the House.
Collect ≈98% of every pull's fee, split equally, until your listing is drawn; then the cycle repeats. Measured at day 29 (Aug 15, when pace read 1,076/day; the models elsewhere use the Aug 14 calibration of ≈1,270; on that basis this seat reads ≈169% and the crown below ≈121%, on the day-29 basis the crown reads ≈103% and ≈310 ETH/yr; the trailing-7-day pace at this revision is ≈1,340 with Aug 15–17 at ≈900), the min-size seat annualizes ≈145%/yrThe arithmetic, from the archive snapshot at block 25,761,590 (day 29). 6,441 listings; Σ 1/backing = 82,827 per ETH; Σ √backing = 2,173; 1,076 pulls in the prior 24h.
Harmonic backing = 6,441 ÷ 82,827 = 0.0778 ETH → pull price × 1.025 = 0.0797 ETH.
A 0.05 ETH listing is drawn every 82,827 × 0.05 ÷ 1,076 = 3.85 days.
Fees per cycle: 0.0797 × 0.99 × 0.99 ÷ 6,441 per pull × 1,076/day × 3.85 days = 0.0502 ETH (1.005× backing).
$FWA rewards per cycle: 30% of buybacks × √0.05 ÷ 2,173, at spot = 0.0011 ETH.
Settlement: gives up backing (96.4% sell-back) or keep-fee + NFT at 0.9× (3.6%) = −0.0498 ETH.
Net +0.0015 ETH per cycle on 0.095 ETH capital (backing + NFT at 0.9×) = 1.53% per 3.85 days ≈ 145%/yr. Sources: archive eth_calls + pull logs (sim/history.py); formula in evmodels.ts depositorModel., a churn premiumWhy the rate falls with size. A cycle pays about the backing back regardless of size, so the yearly rate is set by how many cycles a year: cycles ∝ pace ÷ (listings × backing). Bigger listings turn over slower; the 145% is a churn premium for turning over every few days, and it holds only while pace holds through the cycle. that falls with
size:
Pool-wide, depositors as a group net ≈56%/yr capital-weightedPool-wide, day-29 pace. Because a cycle pays back about the backing, every listing, whatever its size, nets only ≈0.06 ETH/yr on fees (4.95 earned − 4.89 given back at settlement): ≈370 ETH/yr across ≈6,200 listings. $FWA depositor rewards add ≈980 ETH/yr at spot. Total ≈1,350 ETH/yr. Capital: total backing 1,261 ETH (exact, from the full listing set at block 25,784,631: mean 0.205 ETH, median 0.061; the large listings are 300 / 51 / 28 / 17 / 10.7 ETH; an earlier draft sampled ≈1,100), × 1.9 for the NFT at 0.9× ≈ 2,400 ETH. 1,350 ÷ 2,400 ≈ 56%; adding the crown's ≈310 ETH/yr tithe ≈ 69%..
Staking the same ETH pays ≈3%2. I set the sustainability barWhere I set the bar, and why. Staking (≈3%) is the floor. A depositor also takes smart-contract risk, single-key admin risk, escrow illiquidity, a small chance of surrendering the NFT, and, for the churn seat, real work relisting every few days. DeFi has typically paid 3–5× the staking rate for the first two on established protocols. So I set ≈12%/yr for a passive listing (≈4× staking) and ≈30%/yr for the active churn seat, which is also the entry hurdle my simulation uses. Both are judgments, disclosed on the model page. at ≈12%/yr for a passive listing, ≈30% for the active churn seat.
The crown depositor: the tithe
The largest listing takes an extra 1% of every pull's fee: the tithe. On today's 300 ETH crown that is ≈364 ETH a year, a 121% APR against a measured 2%/yr chance of being drawn, roughly 60× what an ordinary listing of the same size earns from fees. The seat is contestable: any deposit of 330 ETH (backing × 1.10) takes it. Two facts the model does not price: if the crown is drawn the top goes vacant and the next activated deposit of any size takes it with no threshold until a larger listing claims it; and one address has held the top since Jul 28 and has taken ≈145 of the ≈169 ETH of tithe ever paid.
$FWA holders: the second House seat
The other way to be the House is to own the House's take. Each pull accrues value to every $FWA holder.
The initiating team: the levers
The initiating team controls meaningful levers. The surcharge, the settlement payout, the fee cuts, the crown share, the buyback route, the buyback share, and the trade tax's destination are all single-EOA mutable.
Its incentives are specific. It earns the 1% tax on every $FWA trade, ≈$15k a day at the calibration volume (≈$7k on the last day measured for this revision). Before the 100%-buyback regime (Jul 21–Aug 6) it also took the core-fee remainder via the Splitter: ≈1,249 ETH to the team's wallets, ≈529 to NFT holders, so realized team income to date is ≈1,530 ETH (≈$2.9M). It holds $FWA: one of the fee wallets holds ≈1.3% of supply, the owner key ≈2%. Team wealth, in other words, rises with fee income, with the token, and with the long-term health of the protocol, and I weigh it alongside every other participant's incentives in what follows.
Verified from the deployed source
- The trade tax is team income. The $FWA hook routes 100% of the 1% trade fee to an owner-set feeAddress, the OwnerSplitter, which pays 80/10/10 to three fixed EOAs; the core source states the LP 1% "is never included" in buybacks.
- The 100%-to-buybacks regime is weeks old and owner-mutable.
protocolFeeToTokenBpswas 0 at deploy, 80% on Aug 4, 100% on Aug 6; the non-buyback remainder pays the core-fee Splitter (0x1c17…3bfe, not the trade-tax OwnerSplitter 0x7400…ec04, which is 80/10/10 to three EOAs; two contracts, two splits) at 90% owner / 10% snapshot-NFT holders since Aug 4 (70/30 before; 1,777 ETH of core fees went there between Jul 21 and Aug 6, ≈1,249 ETH to the team's wallets). The buyback route (40/30/30) shipped as 40/40/20 and spent Aug 4–6 at 70/10/20 (pullers / depositors / burn); the owner has moved these dials before. - The cash floor is escrow, not policy. The 90%-of-backing standing bid is funded from the listing's own escrow; the House cannot change the odds without emitting a ConfigSet event, and every number in this paper is recomputable from state.
- Depositor rewards are √backing-weighted: the depositor share of buybacks is divided by √backing, not backing (read live from
sqrtBackingTotal, ≈2,172 √ETH). Splitting a listing into N pieces earns √N× the rewards, not N×: a brake on churn for its own sake. - The structural identity. A listing with backing b is drawn about once every b × W pulls (W = Σ 1 ÷ backing across the pool); each pull pays it price × 0.98 ÷ listings. Multiply the two: fees per cycle ≈ b × 1.005: a cycle returns about the backing whatever the pool size; more listings just make cycles slower. What free entry changes is how fast the cycles come.
- Keep settlement returns the depositor's own escrow (minus the 1% keep fee); the purchaser pays nothing at keep. It is not a sale; the fee stream is the depositor's real proceeds, which is why break-even NFT value is ≈1× backing, not 2× (the model page, corrections).
- Burns are real. totalSupply is 0.9929B; 7.1M tokens retired.
- The VRF prepay is a measured ≈1.04M-gas charge priced off gas, paid by the puller on top of the pull fee, forwarded to the VRF service; it never enters the fee split.