Born in the dark.
Built to strike.

1,000 vipers, minted blind. Six hand-designed tiers from Common to Mythic, revealed on-chain once minting closes. No redraws, no two alike.

Matrix Rain Viper #3, Common tier
Toxic Slime Adder #1, Uncommon tier
Bloodbath Cobra #22, Rare tier
Matrix Rain Basilisk #2, Epic tier
Rare Cobra #4, Rare tier
Legendary Wyrm #19, Legendary tier
Mythic Leviathan #41, Mythic tier
Gilded Basilisk #109, Epic tier
Gilded Wyrm #32, Legendary tier
Gilded Leviathan #88, Mythic tier

10 of 1,000 ยท Common through Mythic

How it works

Two assets.
One loop.

Trading VIPER burns VIPER. That pushes price toward the next reveal. Reveals make Vipers worth burning for liquidity. Burning Vipers leaves fewer of them behind the ones that remain.

ViperHook.sol ยท the loop, one swap at a time
01
$ swap(...)any trade, either direction

Buying or selling VIPER, either direction pays the pool's 1% fee โ€” just normal trading.

02
$ beforeSwap -> harvestFees()same transaction, no keeper

A fixed share splits off before the reward pool ever sees it, wired into the swap itself.

03
$ ERC20Burnable.burn(...)totalSupply() actually drops

VIPER's share is destroyed outright, on-chain โ€” not a dead-wallet trick, the real number falls.

04
$ price -> next milestonemarket effect, not a function call

Fewer tokens chasing the same liquidity pushes price toward the next reveal, over time.

05
$ afterSwap -> milestonesCrossed++sustained, not spiked

Holding that milestone, not just touching it once, unlocks the next Molt Lab reveal batch.

06
$ beforeAddLiquidity -> burnForLiquidity(...)NFT supply shrinks too

Reveals make Vipers worth burning for liquidity โ€” one fewer Viper, one permanent fee share.

$ goto [01]fewer Vipers, scarcer VIPER, more reason to trade either one
Origin

Every hood hides a different snake. Some are born plain โ€” grey, quiet, easy to miss. A rare few come out already glowing, jeweled and gold before they've struck once.

You don't choose which one finds you. That's decided the moment you mint โ€” sealed, hidden, and revealed on-chain once the pit closes.

Rarity

Six tiers.
Hand-designed, not palette-swapped.

Every tier is its own artwork, and card size here isn't decorative โ€” it tracks real weight. Common is the smallest tile on this page. Mythic is the biggest, on purpose.

Common tier Viper NFT
Common45%

Where every viper starts. Simple hood, simple glow.

Odds1 in 2
Uncommon tier Viper NFT
Uncommon25%

Jeweled hood, greener bite. A step up from the pit.

Odds1 in 4
Rare tier Viper NFT
Rare15%

Full crimson wrap, burning eyes. Starts to feel dangerous.

Odds1 in 7
Epic tier Viper NFT
Epic9%

Spectral coil pattern, violet core. Something's different here.

Odds1 in 11
Legendary tier Viper NFT
Legendary5%

Chrome-forged hood, ice-white fangs. Built, not born.

Odds1 in 20
Mythic tier Viper NFT
Mythic1%

Gold-crowned, jeweled, prism-eyed. 1 in 100, if you're lucky.

Odds1 in 100

Odds are the real on-chain mint weights โ€” every mint costs the same flat price regardless of which tier you land on.

No wallet needed ยท works pre-mint

Enter the pit.

Every viper carries a Venom Score built from its tier, background, and aura. Look one up, pit two against each other, or see who's clawed to the top of the leaderboard.

Open the pit โ†’
Apex predators ยท top 3
01
Gilded Leviathan #88
Gilded Leviathan #8888
02
Matrix Rain Leviathan of the Void #487
Matrix Rain Leviathan of the Void #48788
03
Gilded Leviathan #516
Gilded Leviathan #51688
Under the hood

Every piece of that loop,
one function at a time.

VIPER runs on Uniswap v4 hooks โ€” code that sits inside the pool's own lifecycle, not bolted on after. Here's what each one actually does, and why.

ViperHook.beforeAddLiquidity

Liquidity costs a Viper

The pool's seed liquidity is locked forever, but anyone can add more to it โ€” by burning a Viper they own. DeFi activity consumes NFT supply instead of the usual direction. In exchange, the burn earns a permanent share of real trading fees, forever, since there's no NFT left to unstake.

ViperHook.afterSwap

Reveals gate on price, not the clock

Molt Lab batches only unlock once the pool holds a price milestone for a sustained window, not a single spike โ€” one large swap can't fake it, and reverses the moment price dips back below. The owner can't time an early reveal even if they wanted to; the market has to prove it first.

ViperHook

No withdraw function exists

Not "the owner promises not to" โ€” there isn't even an NFT to hold the position anymore. The hook contract itself owns the seed liquidity directly, and there is genuinely no function anywhere, reachable by anyone including the owner, that can transfer, burn, or decrease it. Fees can be harvested; the principal itself physically cannot move.

LaunchV4.s.sol

Launched single-sided

The seed position mints as 100% VIPER, zero ETH required from the deployer โ€” real math, not a marketing line: a concentrated-liquidity position needs no ETH when its range sits entirely at or below the opening price. Every bit of ETH that flows in after that gets locked right along with it.

ViperRewards

Yield is fees, not emissions

Staking a Viper earns a share of real VIPER/ETH trading fees, split between ETH and VIPER as they come in. There's no new-token printer behind it โ€” the pool only pays out what the pool actually earns.

ViperHook.beforeSwap

Every swap burns a little, automatically

A fixed slice of every harvested fee never reaches the reward pool at all โ€” it burns outright, on-chain, forever. No keeper, no cron job, no button anyone has to press: it's wired into the same call your swap already makes. See How It Works at the top of this page for why that slice compounds into more than just a smaller number.

Questions

Before you mint

>When does my viper reveal?[+]

Every token mints as a placeholder. Once minting closes, the contract owner calls a one-way reveal function โ€” after that, every token resolves to its real art permanently. There's no partial or early reveal.

>How is tier decided?[+]

On mint. It's baked into which token you get, not chosen by you or revealed in advance โ€” Common through Mythic, weighted so Mythic is genuinely rare (about 1 in 100).

>Is this an ERC-721?[+]

Yes โ€” standard ERC-721 on Ethereum, tradeable anywhere from the moment it's minted, and listed on OpenSea automatically. No wrapping, no custom transfer logic.

>What can I do with a viper besides hold it?[+]

Stake it for a share of real VIPER/ETH trading fees, burn two of them in Molt Lab for a reroll at better tier odds, or burn one to permanently expand the liquidity pool and earn a lasting fee share for doing it. All three live on My Vipers โ€” connect a wallet to use them.

>What is VIPER, and who controls the liquidity?[+]

VIPER is the collection's companion token, launched on Uniswap v4. Its liquidity position is owned directly by the pool's own hook contract โ€” no NFT, no separate locker โ€” and there's no withdraw function of any kind, for anyone, including the owner. Once seeded, it can't be pulled.

>Does VIPER supply ever shrink?[+]

Yes, automatically. A fixed share of every trading fee never reaches the reward pool โ€” it burns outright, permanently reducing total supply, wired into the same swap that generated it. No keeper, no button, no team wallet involved. The current burn rate and pending buyback amount are live on the Pool page, straight from the contract.

>What's the Venom Score?[+]

A fun, non-official number computed from your tier, background, and aura โ€” used in The Pit for lookups and head-to-head matches. It doesn't affect the contract or your token in any way.

>Is the contract audited?[+]

Every contract โ€” the NFT, Molt Lab, the VIPER token, staking, and the liquidity lock โ€” has been through a full internal adversarial security pass, with every finding fixed and covered by tests. That's one thorough review, not a substitute for an independent third-party audit. Full source is verified on Etherscan.