hold w²,
earn the eth.
w² is a one-million-supply ERC-20 paired with ETH on a single Uniswap V4 pool. A 3% surcharge on every swap routes back to existing W2 holders as native ether, weighted by balance. The supply is fixed at deploy, the LP is funded with one ether, and both contracts are renounced at launch.
state, observed
where the wei comes from
0.03 · |Δunspecified|, paid in ETH on every afterSwap.
poolManager.take(weth, hook, δ) and immediately unwraps it to native ETH. The fee never enters the pool curve, so quoted prices on the V4 router are accurate before slippage.
δ · 10^18 / eligibleSupply
eligibleSupply so liquidity reserves do not double-count themselves.
(yieldPerWei − yieldDebt[u]) / 10^18
u, then crystallised into pending[u]. harvest() sends pending ETH to the caller and resets the debt to the current index.
swap on V4
Trader hits the w²/ETH pool through the Universal Router. The hook fires afterSwap and skims 3% of the unspecified-side amount.
credit the index
ETH-side fees go to the yield index. W2-side fees travel to the dead address, contracting circulating supply.
holder calls harvest
Every wallet draws its pro-rata share of ETH whenever it wants. No staking, no locks, no admin path.
the pool is on Uniswap
→ buy w²
Spend ETH or WETH on the w²/ETH V4 pool. The hook will skim 3% of W2 output and burn it, so the post-fee amount is what you'll actually hold.
← sell w²
Trade w² back to ETH on the same pool. Selling fires the same 3% fee, this time skimmed from the ETH output and routed to current holders as ETH yield.
collect ether
why this exists
// premise
Yield-bearing tokens usually require staking, locking, or some signed off-chain promise. w² removes all of that: holding W2 is the only requirement, and the 3% surcharge that normally lands in a treasury wallet here lands in a per-wallet ETH ledger that anyone can withdraw at any time.
// distribution
The full one-million W2 supply is minted to the deployer at construction. The deployer pairs all one million tokens against one ether on a single Uniswap V4 pool with our yield hook attached. There is no presale, no team allocation outside what gets used as initial liquidity, and the contracts are renounced at launch - so once the pool is live, no human can pause it, mint more, change the fee, or take from the holder ledger.
// invariants
- fixed supply:
1,000,000 · 10^18 W2, immutable - fee:
3%of the unspecified-side swap output - WETH side → yield index, drains to holders pro-rata as ETH
- W2 side → 0x...dEaD, supply pressure to the upside
- skipped accounts: hook, V4 PoolManager, V4 PositionManager
- renounced ownership at launch on both contracts
// limits
There is no buy cap, no sell delay, and no transfer hook beyond the yield-settling callback. If you transfer your W2 to a fresh wallet, your pending yield travels with you because settlement happens before the balance change, not after.