ADDRESS COPIED
VAULT
LIVE
RESERVE-
FLOOR / SAFE-
MINTED-
PRICE NOW-
$VAULT BURNED-
POOL FEE NOW-
LOCKED POL-
AUTO-BURNED-
ROULETTE ODDS-
3333 SAFES / FULLY ON-CHAIN / UNISWAP V4

3333 steel safes.
Real ETH behind every door.

VAULT is a fully on-chain collection on Robinhood Chain. Half of every mint is sealed into a common reserve - crack your safe at any moment and take your exact share. The art lives in the contract. The pool is locked by construction. Nobody holds admin keys, because there are none.

3333 / 3333KECCAK PARITY
0ADMIN KEYS
99%SUPPLY LOCKED AS POL
-SUPPLY BURNED
SAFE #2803
THE FLOOR × BULLION
RENDERED BY THIS PAGE / SAME ALGORITHM THE CHAIN RUNS
THE WIRELAST MOVES / READ FROM CHAIN LOGS IN YOUR BROWSER
LISTENING TO THE CHAIN…
LIVE ON ROBINHOOD CHAIN / ZERO ADMIN KEYS

The door is open.
Mainnet is live.

Three live rehearsals, then the real thing: 131 tests green, full-collection keccak parity, eight contracts deployed and verified on Robinhood Chain. The deployer holds nothing - everything is steel now.

4663MAINNET CHAIN
8/8SOURCES VERIFIED
0ADMIN KEYS
01 / THE MINT

Five doors. One ladder. The steel gets heavier.

Prices step up by token number - early doors cost less, late doors weigh more. Every safe carries a yield weight (model × finish) that decides its share of the holder pot. All five prices are immutable constants, calibrated by simulation before deploy.

Scrapbox

#0001 – #0400 / 400 DOORS
0.001 ETH
WEIGHT×2

Strongbox

#0401 – #1100 / 700 DOORS
0.003 ETH
WEIGHT×5

Deposit

#1101 – #1900 / 800 DOORS
0.007 ETH
WEIGHT×9

Black Vault

#1901 – #2700 / 800 DOORS
0.013 ETH
WEIGHT×16

The Floor

#2701 – #3333 / 633 DOORS
0.021 ETH
WEIGHT×28
Half of every mint never leaves. 50% is sealed into the reserve by code - at full mint that is ≈15.9 ETH under the floor before the pool pays a single fee.
Warm hands mint cheaper. Wallets active in the roulette hold WARM status and get a discount at the door.
Silence melts the price. If nobody mints for 36 hours, prices decay 25% per day - down to a floor of a quarter. One paid mint resets the melt.
No wallet sweeps a rung. Paid mints are capped at 20 per wallet - a sellout needs at least 167 hands. Roulette wins are exempt - they mint instantly, throttled only by the odds.
MINT CONSOLELIVE

CONNECT A WALLET TO OPEN A DOOR.
Reads are already live - actions need a signature. The console runs against the rehearsal deployment; one constant flips it to mainnet at launch.

Your price is read as currentPrice(you) - WARM status and the PULSE melt are already inside the number. 50% of what you pay is sealed under the floor in the same transaction. The contract takes the exact price - a stale value simply reverts and nothing is lost.
02 / THE FLOOR

The floor is not a promise. It is a balance.

Most collections quote a floor somebody else must agree to pay. VAULT keeps one in a contract: an ETH balance every safe can claim against - readable by anyone, spendable by no one but crackers.

RESERVESAFES ALIVE = FLOOR PER SAFE
-RESERVE
-SAFES ALIVE
-FLOOR / SAFE
FED BY MINTS + EVERY SELL FEEDRAINED ONLY BY CRACKS

It only fills

50% of every mint and 25% of every sell fee flow in. There is no owner withdrawal function - the bytecode simply does not contain one.

Crack it whenever

Burn your safe, receive exactly reserve ÷ safes alive - instantly, permissionlessly, at any moment from mint to forever. The door is the exit.

Cracking hurts nobody

A crack pays R÷N and leaves R′÷N′ identical for everyone left. The R/N invariant is machine-tested - your neighbour leaving cannot lower your share.

CRACK CONSOLE / YOUR SAFESLIVE

CONNECT A WALLET TO SEE YOUR SAFES.
Every safe you hold is listed with its live render, and the exit is one honest button away - with the exact payout in front of it.

Ownership is scanned from Transfer logs and verified with ownerOf before anything is shown. A crack calls crack(id): the safe burns, reserve ÷ safes alive pays out, and everyone else’s share is left exactly where it was - the R/N invariant.
03 / THE ART

No server. No IPFS. The chain is the artist.

tokenURI() is the artwork - pure SVG assembled by the contract, worst case 2,181,688 gas of drawing. Every render below is produced by this page with the same integer-exact algorithm, proven byte-identical to the chain across all 3333 tokens by keccak256. And the art is alive: each safe displays its current floor share, so when the reserve grows, all 3333 change.

COLLECTION EXPLORER / RENDERS LOCALLY, VERIFIED AGAINST CHAIN
Type any number from 1 to 3333. The safe you see is what tokenURI() returns on chain - same bytes, proven by a full-collection keccak sweep, not a sample. Finishes range from RUSTED (1396 doors) to BULLION (39 doors).

FINISH DISTRIBUTION / 3333

RUSTED
1396
GUNMETAL
773
OXIDE
473
BRASS
333
CHROME
185
OBSIDIAN
134
BULLION
39
04 / THE ROULETTE

An hourly ticket. A daily drumbeat.

Every wallet can claim a soulbound slip each hour and spin it against the chain itself. Wins mint safes - free, instantly, with no daily schedule and no lifetime cap. The only throttles are the odds themselves and the end of the collection: the chance is priced so that farming spins costs more in gas than it wins until the floor is high - and every free safe dilutes the floor back down. The thermostat is physics, not policy.

A SLIP / SOULBOUND / RENDERED ON-CHAIN, LIKE EVERYTHING ELSE

Claim

One slip per wallet per hour. It cannot be transferred, sold, or farmed into a bag - a slip is attendance, not an asset.

Spin

Commit your slip. The contract pins it to a future block - you cannot pick your luck, and neither can we.

Settle

The next block’s hash decides at 0.05% per spin - during a quiet market PULSE multiplies that up to ×8.

Collect

A win is a safe, minted free and instantly - straight to your wallet, no queue, no redeem step, no quota that can eat it. Want more turns? Extra spins cost 0.00000025 ETH, and that ETH is swapped into $VAULT and burned.

1 / hrFREE SLIP CLAIM
0.05%WIN CHANCE / SPIN
NO CAPWINS MINT INSTANTLY
96 / dayBONUS SPINS FOR TRADERS

There is no win schedule and no free-supply cap - a hit mints a safe on the spot, and the only hard end is the collection itself (3333). What keeps it honest is arithmetic: at 0.05% a full spin cycle costs more gas than its expected value until the floor clears ≈0.0063 ETH, and every farmed mint dilutes the floor back under that line. Bots fight the thermostat, not a rule. Bonus spins for traders (96/day) and relic-forge spins (24/day per wallet) feed the same funnel. Paid mints: no daily cap, 20 per wallet lifetime.

ROULETTE CONSOLELIVE

CONNECT A WALLET TO CLAIM AND SPIN.
One free slip an hour, settled by the next block’s hash. A win mints the safe straight into your wallet.

Each spin commits to a future block, then reveals against that block’s hash - you sign the spin, a countdown ticks down to the settling block, and the settle prompt opens exactly once, the moment the reveal is ready. Neither you nor anyone else can pick the outcome. Line up 1–10 spins and the vault turns for each in turn, revealing win or seal as it goes. A win mints the safe straight to your wallet. Extra-spin ETH is swapped into $VAULT and burned.
THE FORGE / BURN RELICS FOR SPINSLIVE

CONNECT A WALLET TO FEED THE FORGE.
Holding a dead token from this chain? Burn it to 0xdEaD and collect roulette spins - chances, never safes, capped at 24 a day. The relic list and its rates are frozen into the contract at deploy.

Each relic is an APPROVED dead token with a fixed burn rate, frozen in the forge’s constructor - no owner can add, remove, or retune it. APPROVE lets the forge move your tokens, then FORGE calls forge(relic, times): the tokens go to 0xdEaD and the matching spins land on your slip. Spins are chances at the roulette’s 0.05%, not safes - the forge feeds the funnel, it never widens the free-supply tap. Daily cap 24 spins / wallet.
FAILSAFE

PULSE - the collection cannot flatline

IF DEMAND DIES

After 36 silent hours the machine starts breathing for the collection: mint prices melt 25% / day down to a quarter of the ladder, and roulette odds double every dead day, up to ×8 - from 0.05% to 0.4% per spin.

WHEN IT COMES BACK

A single paid mint resets the melt; the odds fall back as life returns. At sellout PULSE freezes forever. Every parameter of the revival is an immutable constant - the failsafe cannot be turned off, tuned, or abused.

05 / THE TOKEN

$VAULT is born inside the pool.

No presale, no allocation table, no vesting cliff to survive. At deploy the token mints its entire supply to itself, seeds the Uniswap v4 pool single-sided, and locks the position - all in one transaction nobody can repeat or reverse.

99% / 549,945,000LOCKED IN THE POOL / LP OWNED BY THE TOKEN ITSELF
1% / 5,555,000SEALED IN THE CONTRACT / NO WITHDRAW PATH
0% / 0TEAM / INVESTORS / TREASURY / ANYONE
OWNER POSTED 0 ETH - THE SEED IS PURE TOKEN, BUYERS BRING THE ETH

Fees in kind, not in promises

The pool runs through a Uniswap v4 hook with flags 0x1044, mined into its very address. Fees are taken in whatever the trader is moving:

Buys pay in $VAULT - taken from the pool and burned on the spot. Every purchase makes the token scarcer.

Sells pay in ETH - split 25 / 50 / 25: a quarter under the NFT floor, half into the holder pot, a quarter to the treasury. Every exit strengthens the people who stayed.

Burn $VAULT to activate a safe for 30 days and the pot pays you by weight. Trades over 0.002 ETH earn bonus roulette spins.

TRADE $VAULTRATE LOADS FROM DEXSCREENER
Buys burn $VAULT from the pool; sells pay ETH into the floor, pot and treasury - the hook takes its fee in kind either way.

Trade here - or on Uniswap

The on-site swapper routes through the same locked v4 pool. If it’s ever unavailable, the Uniswap link below trades the exact same pair - nothing else to trust.

ONE MACHINE, THREE LOOPS - WHERE EVERY WEI GOES

Value flow diagram: mint feeds the reserve, trades feed burns, the holder pot and holders
ACTIVATION CONSOLELIVE

CONNECT A WALLET TO ACTIVATE YOUR SAFES.
Burn $VAULT to switch a safe on for 30 days - active safes split the holder pot by weight. The burn is the sink; the pot is the reward.

Tiers cost 15k / 34k / 70k / 140k / 375k $VAULT for weights ×100 / 125 / 160 / 200 / 333 - every token burned, straight to the grave. A finish caps its ceiling (RUSTED stops at tier 2, BULLION reaches 5). The activation lives on the safe, not on you: sell an activated safe and its remaining window travels with it.

Snipers become liquidity

The pool opens at a 40% fee that decays to 2% over 12 hours - smooth, block by block, no cliff to time. Bots that rush the first candles pay the collection for the privilege; their ETH stays in the pool as depth for everyone after.

Simulation across sniper-capital scenarios showed the window converts sniping from a tax on holders into a donation to them.

06 / ENGINE ROOM

For the ones who read bytecode before bios.

Everything below is verifiable right now: sources on Blockscout, invariants in the test suite, parity proven with keccak - not claimed, measured.

2,181,688 gasWORST-CASE RENDER (SAFE #2763) - 4.3% OF THE READ BUDGET
22,353 / 24,576 BVAULTART VS EIP-170 - SIZE-TUNED, NOT GAS-TUNED
3333 / 3333FULL-COLLECTION KECCAK PARITY, JS REFERENCE VS SOLIDITY
131TESTS GREEN / UNIT + INVARIANT + FORK REHEARSALS
8 / 8CONTRACTS VERIFIED ON BLOCKSCOUT IN THE DEPLOY COMMAND
0x1044HOOK FLAGS MINED INTO THE CREATE2 ADDRESS
1 txTOKEN SELF-SEEDS 99% AS ONE-SIDED LOCKED POL
15IMMUTABLE CONSTANTS, EACH CALIBRATED BY SIMULATION

SEVEN CONTRACTS, ONE WIRING PASS - THEN THE KEYS DISSOLVE

VAULT721 SAFES / RESERVE / CRACK SLIP SOULBOUND / ROULETTE VAULT20 $VAULT / POT / SELF-SEED VAULTHOOK FEES IN KIND / 0x1044 POOLMANAGER UNISWAP V4 SINGLETON VAULTURI + VAULTART RENDER SHOPS / EIP-170 SLIPART TICKET RENDERER CRACK / MINT POT / BURN FEES + SPINS TAKE + RETURN-DELTA TOKENURI TICKETS SWAPS

R/N invariant. Cracks pay exactly reserve/liveSupply and cannot lower anyone else’s share. Fuzzed and invariant-tested.

initWiring fires once. One wiring pass at deploy; a second call reverts NotDeployer. After it, no privileged surface exists.

LP locked by construction. The v4 position is owned by the token contract, which has no function to remove liquidity. Not timelocked - impossible.

Slips are soulbound. Transfer paths revert; a slip can only be claimed, spun, or expired. Luck cannot be bought second-hand.

Fee settlement proven on real v4. take() + return-delta parity held to the wei against the live PoolManager - swap in, split out, sums exact.

Money is integers. Micro-ETH accounting, truncated 5-decimal formatting; no float ever reaches chain or canvas. The renderer is integer-exact.

MAINNET DEPLOYMENT / ROBINHOOD CHAIN (4663)

Deployed and verified in the one launch command - is_verified = true via the explorer API, solc 0.8.28 / via-ir / cancun. Click to view, tap the address to copy.

HOW IT WAS BUILT - AND WHY YOU CAN CHECK

Reference first. The art engine was written as a deterministic integer-exact JS reference - xorshift32, integer coordinates, truncated 5-decimal money. Then it was ported to Solidity and pinned with keccak fixtures: 42 feature renders, then the entire collection. If one byte drifts, a test screams.

Fork before broadcast. Every mechanic rehearsed on a fork of the live testnet, then broadcast for real - three full rehearsals. Rehearsal #2 caught a genuine deploy-killer: the CREATE2 proxy made msg.sender the proxy, not the human, which would have burned the mined hook address on mainnet. That is what rehearsals are for.

One command to launch. The deploy script self-mines the hook salt, deploys all seven contracts, wires them once, lets the token seed and lock the pool, and submits every source for verification - inputs: a key and a treasury address. Nothing manual left to fumble on the day.

Vault20.sol / the self-seed
function seedAndLock(...) external {
  if (msg.sender != deployer) revert NotDeployer();
  if (seeded) revert AlreadySeeded();
  seeded = true;
  // ETH/VAULT pool, hook bound at birth
  IPoolManager(poolManager).initialize(poolKey, sqrtPriceX96);
  // 99% of supply in, one-sided; the TOKEN owns the LP.
  // No function anywhere removes it. Locked by construction.
  IPoolManager(poolManager).unlock(abi.encode(tickLower, tickUpper, liq));
}

function unlockCallback(bytes calldata data) external {
  ...
  // if the pool ever asks for ETH, the seed is wrong - abort
  if (delta.amount0() < 0) revert NotOneSided();
  ...
}
07 / THE HONEST PART

What the code enforces. What it can’t.

Most projects blur this line on purpose. We drew it in steel - read both columns before you spend a single wei.

ENFORCED BY BYTECODE

  • The reserve only leaves through cracks. No owner withdrawal exists. Your share is reserve ÷ safes alive, payable on demand.
  • The LP cannot be pulled. The pool position belongs to a contract with no exit function. This is stronger than any lock or vow.
  • Supply is fixed. 3333 safes, 555.5M $VAULT, zero emission, no mint function beyond the ladder and the roulette itself.
  • The art cannot change. tokenURI is computed from immutable code and state - no server to die, no baseURI to swap.
  • The constants cannot move. Prices, odds, quotas, fee splits - 15 immutable numbers, published and simulated before deploy.
  • Nobody has admin. Wiring happens once, in the deploy transaction. After it, the deployer is a spectator like everyone else.

NOT PROMISED BY ANYONE

  • Price. $VAULT trades on an open market. It can go to zero. The reserve floor is denominated in ETH, not in hope - but it backs safes, not the token.
  • Volume. Every flywheel above spins on trading activity. No activity, no fees, no pot - only PULSE, which keeps the machine alive, not rich.
  • Resale demand. The reserve guarantees an exit price; it does not guarantee a buyer above it.
  • Profit. This is a mechanism, not an investment product. Read the engine room, check the sources, decide like an adult.