PurrHook on HyperEVM
Uniswap v4 Hook Contract 0x13d4a4e22e5c65a7567ca78c1a03487e0e94a0cc on HyperEVM · Launchpad · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
A launch hook that locks 95% of the token as single-sided liquidity and charges a decaying HYPE fee on swaps, with fees sent to a builders address and surplus HYPE used to buy and burn tokens.
How it works step by step
- Deploys the PurrToken, minting 96% to the hook and 4% to the team
- Launches a locked single-sided liquidity position from the minimum tick up to the launch tick
- Charges an opening fee for 120 seconds after trading opens, then a standing fee
- Mints fee HYPE as PoolManager claims and forwards it to builders via collectFees()
- Performs capped buybacks of token with hook-held HYPE and burns the result
- Blocks swaps until the NFT contract calls openTrading()
- Swap behaviour
- Swaps revert until openTrading() is called. Each swap pays a fee in HYPE: openingFee in the first 120 seconds after opening, then standingFee. Fees are taken through beforeSwap or afterSwap depending on which side is specified.
- Liquidity behaviour
- No liquidity callbacks are enabled. At launch the hook adds a single-sided token position from the minimum usable tick up to the launch tick, and no code path removes it, so the LP is locked forever. Excess token dust is burned.
- Fee behaviour
- Swap fee in HYPE is taken via return deltas: openingFee (up to 50%, 33.3% at launch per the notes) for the first 120 seconds after openTrading(), then standingFee (default 1.5%, owner-adjustable 0.06% to 5%). Fees are minted to the hook as PoolManager claims and sent to builders by the permissionless collectFees().
- Owner & admin controls
- Owner (Ownable) can set builders (fee recipient address), standingFee within 0.06% to 5%, and spendCap up to 1 ether per 12-second window. Owner can call launch() once and can renounceOwnership or transferOwnership. No pause, no upgrade proxy, and no path to withdraw LP or pool funds. The hook has no owner-controlled withdrawal of user funds.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize restricts pool creation to the hook itself. beforeSwap takes the HYPE fee when HYPE is the specified side, and afterSwap takes it when HYPE is the unspecified side; both use return-delta accounting. beforeSwap also reverts swaps with TradingClosed until openTrading() is called by the NFT.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The owner cannot touch LP or user funds directly. It can redirect all future fee HYPE via setBuilders, raise the standing fee up to 5% on swaps, and change the buyback spend cap. The owner can also renounce ownership.
Risk to user funds: Users swapping pay the HYPE fee via return deltas, but the hook cannot withdraw pool liquidity or user funds. Trading is blocked until the external NFT calls openTrading, and the buyback path performs swaps using hook-held HYPE.
Security findings
- [medium] Trading gated by external NFT: beforeSwap reverts with TradingClosed for all non-hook senders until openTrading() is called by the NFT, so trading is gated by an external contract.
- [info] High opening fee by design: The opening fee is set at deployment and is immutable, up to 50%, applied for 120 seconds after trading opens, meaning early buyers pay a large fee.
- [medium] Owner can redirect fee destination: setBuilders can redirect all accumulated and future fee HYPE to any address with no timelock, and collectFees can be called by anyone to forward fees to the current builders address.
- [low] Owner can raise standing fee to 5%: Owner can raise standingFee up to 5%, increasing the fee charged on every swap after the opening window.
- [info] Liquidity locked permanently: The hook holds 95% of the token as locked LP with no withdrawal path, so the liquidity cannot be rugged by the owner, though the NFT contract can mint burn rewards and the team holds 4%.
Contract details
- Verified source
- Yes (PurrHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 8,492 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, moves-currency, ownable, return-delta, self-unlock
Pools using PurrHook
- HYPE / YARN (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today