HookrHook on Robinhood Chain

Uniswap v4 Hook Contract 0xd0005624da88a688bcab3dbfb4d1cb23d32ca0cc on Robinhood Chain · Launchpad · Verified contract

Volume (24h)
$16.36K
Value locked (TVL)
$9.51K
All-time volume
$1.11M
Pools using this hook
12
Swaps (24h)
229 (119 traders)
Total swaps
14,976

What it does

A launchpad hook for Hookr-graduated pools that gives buyers and LPs extra mechanics: an anti-snipe guard with buy caps and tax, size-based surge fees, a share of buys auto-burned, a share donated to LPs, and a deterministic jackpot paid to every Nth qualifying buy.

How it works step by step

  • Anti-snipe guard for a block-measured window: per-swap ETH buy cap and extra LP fee on buys only; exact-output buys blocked.
  • Surge fees scale the LP fee with trade size relative to in-range depth, from base up to a max fee.
  • Auto-burn: a share of token output from exact-input buys is sent to 0xdEaD in afterSwap.
  • LP rewards: a share of exact-input buys is donated to in-range liquidity within the same swap.
  • Jackpot: a share of buys fills a pot; every Nth qualifying buy (public counter, not random) claims it via pull payment.
  • Optional royalty share of LP/pot cuts is credited to a blueprint author for claiming.
Swap behaviour
beforeSwap prices a dynamic LP fee (base, surge, snipe tax on buys during the guard) and, on exact-input ETH buys, takes an LP and pot cut as native claims and a specified delta; afterSwap validates full input consumption and burns a share of the token output to 0xdEaD. Sells and exact-output buys pay only the LP fee, and exact-output buys are blocked during the guard.
Liquidity behaviour
No liquidity callbacks are used (add/remove liquidity hooks revert as unreachable). LP rewards are not held by the hook; the LP share of each exact-input buy is donated to in-range liquidity inside the same swap.
Fee behaviour
LP fee is a dynamic fee overridden per swap: base fee from config, plus a surge component on exact-input trades scaled by trade size relative to in-range depth (up to maxFeePips), plus a snipe tax on buys only while the anti-snipe guard is active. Total capped at 50% (500000 pips). Hook cuts on exact-input buys: a configurable share (max 10% combined) is taken for LP donation, jackpot pot, and auto-burn, with an optional royalty share of the LP/pot cuts paid to a blueprint author.
Owner & admin controls
No owner or pause function. Per-pool config is set once by the immutable launchpad via configurePool (one-shot, cannot be changed afterwards). Launchpad is an immutable constructor argument; no upgrade path or proxy is present. Anyone may call syncBaseFee, which only re-syncs to the already-configured base fee.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: restricts pool initialization to the launchpad with the dynamic-fee flag and a configured pool. beforeSwap: enforces anti-snipe limits, computes the surge/snipe-tax fee override, takes LP/pot cuts (donate plus minted native ERC-6909 claims) and advances the jackpot counter. afterSwap: verifies full consumption of input on exact-input buys and burns a share of token output to 0xdEaD. beforeSwapReturnDelta: returns the native cut as a specified delta. afterSwapReturnDelta: returns the burned token amount as an unspecified delta.

Security & trust assessment

Risk level: medium (verified source, high confidence).

Who controls it: Almost no privileged key exists. The launchpad address is immutable and sole authority for configurePool and initialization. Its trust is the main centralization point: it chooses each pool's fee, cut and royalty parameters at graduation. Users cannot be frozen or have fees changed after configuration.

Risk to user funds: The hook takes a share of each exact-input ETH buy as minted native claims and donations, and burns part of the token output to a dead address. Pot and royalty balances can be claimed by their recipients. The hook does not otherwise custody LP principal or freeze transfers. Swaps revert rather than mis-accounting on partial fills.

Security findings

  • [info] Buyer-side fee and cut burden: Exact-input buys pay an extra LP and pot cut (up to 10% of buy size combined with the burn) on top of the fee, with a snipe tax of up to 50% total fee during the guard, reducing buyer output.
  • [low] High fee ceiling set by launchpad: Surge and snipe-tax fees are computed from pool state and config; a launchpad-chosen snipeTaxPips/maxFeePips can push the LP fee to the 50% ceiling, which is an intended but significant cost to buyers.
  • [low] Predictable jackpot schedule: Pot-qualifying buys require a canonical 32-byte recipient in hookData; the jackpot counter is deterministic and public, so the next winning buy is predictable and can be targeted by a searcher who times buys to the Nth slot.
  • [info] Exact-input buys can revert on depletion: Partial fills and exhausted liquidity at the usable tick revert the swap rather than settle, which blocks some large buys in thin pools but protects the cut accounting.
  • [info] Native claims accounting: Pot and royalty native obligations are backed 1:1 by PoolManager ERC-6909 claims and withdrawn via claim/claimTo; the hook holds no physical ETH vault that could be drained by a bug in pull logic beyond the claim accounting.

Contract details

Verified source
Yes (HookrHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
9,592 bytes
Upgradeable proxy
No
Detected patterns
donates, dynamic-fee, launchpad, liquidity-management, moves-currency, return-delta, rewards, self-unlock

Pools using HookrHook