h00k docs
h00k is the first Uniswap v4 hook launchpad on Solana. It is not another launchpad clone — it removes the trust problem at the architecture level. Every token launched here lives inside one pool from its first slot: the bonding curve is not a separate venue that later "migrates" to a DEX — the curve is the pool, custodied by a hook program. And every token ships with a hook — v4-style fee logic that decides what happens to the fees it generates: burns, jackpots, holder rewards, protocol-owned liquidity, treasuries. You pick the hook first, at launch, and it is frozen into the token forever.
Launching a token
The launch flow is a full-screen, four-step sequence:
- Pick your hook — the first decision, and the only one you can't change later. Ten hooks, each with its own fee logic.
- Identity — name, ticker, image, description and socials. This becomes your token's metadata, uploaded to IPFS.
- Funding — set your initial dev buy (can be zero) and a priority fee for the launch transaction.
- Launch — review everything, connect Phantom, and sign. The create transaction is built by PumpPortal and signed locally in your browser by your wallet plus a freshly generated mint keypair.
Creating the coin is free — you only pay the Solana network fee and whatever you chose as your initial buy. After the transaction confirms, your token appears on the h00k board with its hook.
Trading
Every token page has a live market-cap chart and a Buy/Sell panel. Trades are routed to the bonding curve before graduation and the AMM after, and executed through your own wallet:
- You enter an amount in SOL (buy) or tokens (sell).
- h00k builds the transaction via PumpPortal's local API — the unsigned transaction is returned to your browser.
- Phantom asks you to confirm. h00k never sees your keys and cannot move funds.
The estimate shown is a spot estimate: pre-graduation it is computed from the bonding curve's virtual reserves; post-graduation it uses the AMM spot price. Slippage tolerance is configurable from 0.5% to 5%.
The curve is the pool
Every other launchpad has the same structural flaw: tokens trade on a bonding curve, then "graduate" and migrate to a DEX pool. That migration is a giant arbitrage seam — price gaps between venues, migration slippage, and someone holding the keys to the new LP. All of it is risk.
h00k's answer is blunt: there is no second venue. From the first slot, your token runs inside its final pool. The bonding curve is not an independent price feed — it is the pool itself, custodied by the hook program. Buys and sells route through the hook from day one. That means:
- No migration — because there is nothing to migrate. The token lives in the same pool from birth to graduation.
- No migration arbitrage — because a second venue never exists.
- A 3-slot anti-snipe delay at launch keeps MEV bots from front-running the first buys.
When the curve sells out (~85 SOL raised, ~$69K market cap), the token graduates: the hook deposits full-range liquidity into the same pool at the curve's final price. No new pool, no price gap — the chart doesn't even blink. The token gets the GRADUATED badge and keeps trading exactly where it always did.
Then the liquidity locks — forever. Not for three months, not for a year: the hook program has no withdraw-liquidity instruction, and the LP position is owned by a program address no key controls. Nobody, in any role, at any time, can pull the pool. That promise is written in code, not in a whitepaper.
Address branding: …oo
Every token minted through h00k has an address that ends in oo — the two zeros, welded into the mint itself. Base58 has no literal 0 character, so the launch flow grinds keypairs until it finds one whose address ends in oo (a few thousand attempts, done in your browser in about a second).
It means any h00k token can be verified at a glance: check the last two characters of the mint. The brand is part of the address, not a badge someone can fake.
How hooks work
h00k's hooks are modeled on Uniswap V4 hooks — contracts that attach to a pool and run custom logic at defined points in a swap's lifecycle. V4 exposes callbacks like beforeSwap() and afterSwap(); a hook uses them to take a fee, change a fee, or trigger side effects.
Every h00k hook follows the same pattern:
- A swap happens in the token's pool.
- The hook's
afterSwap()(orbeforeSwap()for dynamic-fee hooks) collects the hook's own fee — free to +3%, set by the mechanic. - The fee accumulates in the hook's vault until the trigger condition fires — a threshold, a timer, or a milestone.
- The hook executes: burn, payout, LP deposit, stream, or vote.
The hook is chosen at launch and bound to the token permanently. There is no admin key to swap it out — that's the point.
Fee model
Every swap pays a 1% base fee, split down the middle — half to the protocol, half to the token's creator. On top of that, the token's hook charges its own fee, from free to +3%, depending on the mechanic it funds.
| Fee | Rate | Goes to |
|---|---|---|
| Protocol fee | 0.50% | h00k |
| Creator fee | 0.50% | the token creator, as a transferable Creator Fee position — sell it, vault it, or keep collecting |
| Hook fee | free – 3.00% | wherever the token's hook routes it — each hook sets its own rate |
Hook fees are isolated per token: each token's mechanic vault holds only that token's fees. No shared custody, no pooled funds, no way for one token's mechanic to touch another's.
The 10 hooks
Each hook below lists its fee, its split, its trigger logic, and the v4 hook family it draws from. One choice at launch, frozen in the contract, never changeable — there is no admin function, no owner, no role that can modify a deployed token's mechanic. If you launch a Jackpot token, it is a Jackpot token for life. That is not a promise from the team; it is a mathematical fact.
Security & custody
- No custody. Every transaction — launch, buy, sell — is signed by your wallet in your browser. h00k's server proxies public APIs and never touches keys or funds.
- No admin keys on hooks. A token's hook cannot be changed, paused, or drained after launch. No owner, no upgrade path, no multisig console.
- LP locked at the code level. Graduated liquidity is owned by a program address with no withdraw instruction. It is not locked for a period — it is unwithdrawable, permanently.
- Isolated mechanic vaults. Each token's hook fees live in that token's own vault. No shared custody across tokens.
- Open fee model. What you see on the trade panel is the full stack — 1% base plus the hook's own fee, nothing hidden.
FAQ
Can I change my token's hook after launch?
No. The hook is part of the token's identity — that's why it's the first step of the launch flow. Pick carefully.
Why doesn't my token show on the board?
The board only lists tokens created through h00k. Tokens launched elsewhere on Solana trade fine but carry no hook.
What happens to the hook when my token graduates?
Nothing changes. The token stays in the same pool it was born in — graduation just means the hook deposits full-range liquidity at the curve's final price and locks it. Fees keep flowing through the hook exactly as before.
Who controls the liquidity after graduation?
Nobody. The LP position is held by a program address with no withdraw instruction. Not the creator, not h00k, not a multisig — the pool cannot be pulled, ever.
What does launching cost?
Creating the coin is free. You pay the Solana network fee (fractions of a cent), the priority fee you selected, and your optional initial buy.
Which wallet do I need?
Phantom. Support for other Solana wallets is on the list.