Shipped

Changelog

2026-08-28

The swap adapter works against the real router

A full-size round was swapped through the live Uniswap v4 UniversalRouter on a pinned mainnet fork. The v4 command encoding is confirmed, not assumed.

It immediately caught a bug: the deploy script pinned the 0.30% fee tier for every rotation slot, and NVDA — the largest holding on this chain — has no pool there at all. Every round would have reverted.

Fee tiers are now measured per slot. A slot whose best tier returns nothing does not get deployed.

2026-08-28

Prices come from the protocol's own rounds

Every round records the ETH it spent and the quantity it bought, so spent divided by bought is the price actually paid, at a real moment. Each token is marked at its most recent round.

The dashboard previously valued real vault balances against a price table that had been written by hand. That was the one place invented data could reach a holder. It is gone.

No oracle sits in the read path, and none sits in the settle path either. A stale feed cannot halt a distribution.

2026-08-28

Contracts complete and proven

Five contracts, 70 tests, zero failures. The seven invariants hold at 256 runs by 128 depth.

settleRound measures 193,173 gas at ten desks and 193,174 at a thousand, so a round really is constant in desk count.

The full system was exercised against real mainnet liquidity: a desk bought, ten rounds settled through live Uniswap v4 pools, and stock claimed into a vault that had never been deployed.

2026-08-28

The rotation was verified, not searched

Blockscout returns four contracts named 'NVIDIA · Robinhood Token'. Three are impersonators. Only the genuine tokens answer uiMultiplier().

The same trap exists for the swap venue: two verified contracts are named PoolManager and the UniversalRouter points at neither. The real one came from asking the router.

No address in this protocol was selected by its name.

2026-08-28

The scarcity loop became a buyback loop

OTC launches on a bonding curve that mints supply on demand, so sending tokens to 0xdead cannot reduce totalSupply. Confirmed against deployed bytecode.

Burned OTC can never be sold, so the price it paid never comes back down. That is a one-way ratchet, and it is what the docs now say.

The burn is a fixed ETH value rather than a fixed token quantity. A fixed slug would have made the thousandth desk cost 1,999 ETH.

2026-08-28

Cut to one asset and one number

No second token and no launchpad. A burn on a mint-on-demand curve cannot reduce supply, so it was a price ratchet wearing the word scarcity. A desk costs 0.08 ETH and nothing else.

No float either. It existed to stop early buyers being funded by late ones, but the money it was rearranging nets to zero, so it was a lot of machinery to make a wash fairly a wash. Buy early, catch more rounds — that is the whole of it.

Buyers fund the rounds. Nobody has to seed anything.