uniswap v4 hook · fully transparent

The hook that steps aside.

A v4 hook token with an on‑chain volatility circuit breaker. Low fee when it's calm, a higher hard‑capped fee right after a sharp move, then it settles back. No hidden trigger, no admin override — and it never blocks a sell. Everyone knows when.

UNHOOK the fish hook mascot v4 native sells always work fee ≤ 5%
UNHOOK★ fee capped at 5%sells always work★ public on-chain state1% calm / 4% volatile★ no mint · no blacklistverifiable source UNHOOK★ fee capped at 5%sells always work★ public on-chain state1% calm / 4% volatile★ no mint · no blacklistverifiable source
the circuit breaker

It reads the room.
So can you.

Drag the market move. A sharp swing (≥15% in one swap) snaps the string and the fee steps up; after ~50 calm blocks it re‑hooks. This is the literal rule in the contract — not a vibe.

HOOKED — calm market
1.0%
fee on the next swapbuys & sells, equally
single-swap price move3%  /  trigger 15%

Illustrative widget mirroring the on-chain rule. The fee can never exceed the 5% cap, and the state only changes the %, never whether you can sell.

no secrets

Transparent on purpose.

The meme was a hook that flips "and nobody knows when." We did the opposite — here everybody knows when, because the trigger and the state sit on-chain in plain sight.

public

Open trigger

Threshold, cooldown, both fee levels and the live unhooked flag are all public. Anyone can predict the next fee.

capped

Fee has a ceiling

1% / 4% by state, hard-capped at 5% as a constant. There is no function to raise it.

symmetric

Sells always work

Buys and sells are identical. The state changes the percentage — it can't block, revert or delay your exit.

clean

No backdoors

No mint, no blacklist, no balance rewrite. renounceOwnership() truly zeroes the owner.

verified

Readable source

Contracts ship verified on Etherscan — the green check matches code you can read line by line.

one-way

Launch is final

Trading is a one-way switch. Once it's on, it can never be turned back off.

the numbers

Stitched fairly.

supply
1,000,000,000

Fixed at deploy. No mint function exists — supply can never grow.

fee
1% / 4%

Calm vs. volatile, hard-capped at 5%. Taken by the hook on each swap.

routing
Treasury

sweepFees() forwards collected fees to the treasury (optionally a fixed-share splitter).

chain
Ethereum

Built on Uniswap v4. An ETH/UNHOOK pool with the hook attached.

team
0% reserved

No tokens minted to a team wallet — the full supply seeds the pool.

liquidity
Locked@launch

LP to be locked/burned at launch — verifiable on-chain, not just claimed.

Treasury / team / liquidity above describe the intended launch setup. Verify each one on-chain once it's live — don't take a website's word for it.

the stack

Real parts, not props.

Five contracts, each doing actual work. Read any of them.

UnhookToken.sol
The ERC-20 + v4 hook. Runs the adaptive-fee state machine and takes the fee in afterSwap.
UnhookLens.sol
View-only reader. read(hook) returns the full live state in one call for the frontend.
UnhookFeeSplitter.sol
Optional treasury target. Splits fees across fixed recipients by immutable shares. No owner, no backdoor.
V4Types.sol
Uniswap v4 interfaces, hook-permission flags and the BaseHook the token extends.
HookDeployer.sol
CREATE2 factory — deploys the hook to a mined address whose flag bits (0x44) match its permissions.
not audited
It's an experimental meme token. Treat it that way, and read the source yourself before trusting it.
4 steps

Get on the hook.

01

Get a wallet

Grab a self-custody wallet, fund it with ETH, keep your seed phrase secret.

02

Open a v4 DEX

Connect to a Uniswap v4-enabled exchange — UNHOOK lives on the new rails.

03

Wait for launch

Not deployed yet. The official address drops here first — verify it twice.

04

Swap & hold

Trade ETH for UNHOOK. Check the live fee state on the Lens before you ape.