ETH · wstETH · WBTC · USDC · PAXG, in one token
Every trade pays into a strongroom of five metals. Any holder, at any moment, can burn ALLOY and walk out with their exact share of all five.
A crucible is charged by weight. ALLOY's is charged by value: every wei of duty the pool takes lands in the Strongroom as ether, and is smelted, a little at a time, toward these five targets.
Tap a band. Prices come from each pool's own 30 minute average (its TWAP), read at mainnet fork block 26,049,355: ETH $2,694, BTC $84,756, gold $4,265 an ounce. Never a spot price, never anybody's feed.
Anyone may fire the furnace. Each smelt buys the metal furthest below target, through Uniswap's deepest pool for it, in a piece no larger than that pool can safely absorb. The caller is paid its gas.
This bench runs the Strongroom's own rules: the ether above its own 20%, the metal's shortfall and the metal's cap, whichever is smallest, and never a smelt under 0.02 ETH. Choose how costly each fill is and watch the moulds fill.
| Metal | Route | Cap | Slippage |
|---|---|---|---|
| wstETH | wstETH / WETH 0.01% | 0.2 ETH | 0.10% |
| WBTC | WBTC / WETH 0.30% | 1.0 ETH | 1.00% |
| USDC | USDC / WETH 0.05% | 1.0 ETH | 0.50% |
| PAXG | WETH, USDC, then PAXG / USDC 0.05% | 0.1 ETH | 0.60% |
A permissionless buyer is a target: buy first, let it buy at your price, sell after. ALLOY's furnace is built so that attack loses money on every route.
Pushing a pool by some fraction costs about fee x fraction x depth. The most it can take from a smelt is that fraction times the smelt. And the moment the pool's spot price sits further from its 30 minute average than the guard allows, the Strongroom refuses to trade through it at all.
Measured on a mainnet fork: pushing the real WBTC pool with 600 ETH moved its spot 602 ticks. Its 30 minute average did not move. The smelt was refused, and another metal was bought instead.
Burn n ALLOY and receive n / supply of everything in the Strongroom, in one transaction, straight from live balances. No price is read, so no price can be bent.
Paying out n / supply of each metal and burning n leaves every other holder's share exactly where it was. If ALLOY ever trades below what it melts for, buying and melting is profit, and that is what holds the price up. Nobody defends the floor. Arithmetic does.
If one metal cannot reach you (a stablecoin issuer can freeze an address), leave it behind. Your share of it stays in the vault for everyone else, and the rest is paid.
Example reserve: a year at 10 ETH a day of volume and a 1.00% duty is about 36.5 ETH. Weights at their targets; dollar values from the fork prices above.
The duty is one percent of the ether leg of every swap, buy or sell, and every wei of it goes to the Strongroom. It opens at 5.00% on the first swap and falls in a straight line to 1.00% over 48 hours.
For the first 30 minutes no single swap may take more than 1% of the supply out of the pool. That rule lives in the hook, inside the swap, reading what the pool actually paid out. A cap written in a token's transfer function can be walked around by a v4 swap that settles as an ERC-6909 claim and moves no token at all. Another launchpad's own authors measured exactly that: 96.92% of a launch taken in its creator-only block.
| Contract | What it does | Size |
|---|---|---|
| Alloy.sol | The token. 1,000,000,000, fixed. Permit, burn. No owner, no tax, no pause, no blacklist. | 2,218 B |
| Strongroom.sol | Holds the five metals, prices them from 30 minute averages, smelts ether into them, pays redemptions. | 13,053 B |
| Crucible.sol | The Uniswap v4 hook. Takes the duty in ether, straight to the Strongroom. Enforces the early cap. Pins the pool. | 5,195 B |
| HookDeployer.sol | Strikes the Crucible onto the address whose low bits are its permissions, 0x20CC. A miss reverts. | 702 B |
| A typical v4 launchpad token | ALLOY | |
|---|---|---|
| Who can change it | An owner sets fees, pauses, and can repoint the treasury | Nobody. No owner, no setter, no proxy |
| What holders get | Dividends in one asset | A claim on five: ETH, wstETH, WBTC, USDC, gold |
| What is behind the token | Nothing | Burn for your exact share of the Strongroom, at any time |
| Anti-snipe | In the token, and walked around once | In the swap, reading what the pool paid out |
| Cost to move the token | Reward bookkeeping on every transfer | A plain ERC-20 |
| Operation | Gas |
|---|---|
| The Crucible on a buy | +24,187 |
| The Crucible on a sell | +6,659 |
| Smelt into wstETH, WBTC or USDC | ~375k to 385k |
| Smelt into PAXG, two hops | ~485k |
| Melt: burn and receive all five | ~218k |
40 of 40 fork checks passing, including a real push of the WBTC pool, every metal bought through its real route, and a redemption of 15.48% of supply paid out to the unit. An economics model of 20,000 random redemptions found no holder ever diluted in any metal.
| EIP | Where |
|---|---|
| 1153 | Transient storage: reentrancy locks, and the one pool allowed to call back during a smelt. |
| 2612 | Permit: melt in one transaction, with a signature instead of an approval. |
| 1014 | CREATE2: the hook is mined onto an address that spells its permissions. |
| 6909 | Why the early cap lives in the hook: a claim-settled swap moves no token. |
| 7702 / 8141 | Nothing reads tx.origin, so delegated wallets and frame transactions are nobody special. |