HookereumHook on Ethereum

Uniswap v4 Hook Contract 0xf7c8df4d233fd76eafdde6ac3b3334569930e0cc on Ethereum · Fee sharing · Verified contract

Volume (24h)
$8.99
Value locked (TVL)
$2.99
All-time volume
$8.99
Pools using this hook
1
Swaps (24h)
4 (1 traders)
Total swaps
4

What it does

Takes a fixed 1% ETH fee on every swap of a Hookereum coin and pays it out at fixed shares to the revenue wallet, the launch creator and the coin treasury.

How it works step by step

  • Takes a flat 1% fee in ETH on every swap, via beforeSwap and afterSwap return deltas
  • Mints the fee as ERC-6909 claims on the PoolManager and tracks it in a per-pool bank
  • settle is callable by anyone and splits banked fees 50% revenue, 20% creator, 30% coin treasury
  • Failed pushes of revenue, creator or coin shares are queued and can be pushed again later
  • Records the opening sqrt price per block for treasuries to read as a price-spike guard
  • Restricts pool initialization to the factory for pools the factory registered
Swap behaviour
On every swap a 1% fee is taken in ETH: as a specified-side delta for ETH-specified swaps in beforeSwap, or from the unspecified ETH side in afterSwap otherwise. The fee is minted as ERC-6909 claims and banked. The hook also records the first swap price of each block for treasuries to read.
Liquidity behaviour
No liquidity callbacks. Liquidity add and remove hooks are disabled and revert if called.
Fee behaviour
Takes a fixed 1% fee on every swap, paid in ETH and banked on the PoolManager as ERC-6909 claims. Settle splits banked fees 50% to the revenue wallet, 20% to the launch creator and 30% to the coin treasury. The pool LP fee is 0.
Owner & admin controls
No admin controls found. The hook is immutable with no owner, no pause, no upgrade path and no parameter setters; fee splits and rates are compile-time constants. Only the factory address (set at construction) is privileged for register and for the revenue wallet lookup via factory.revenue().

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: restricts pool initialization to the factory for registered pools. beforeSwap: records the opening sqrt price per block and takes the 1% fee as a specified-side delta on ETH-specified swaps. afterSwap: takes the 1% fee from the unspecified ETH side on the other swap direction, mints the fee as ERC-6909 claims and banks it. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take its fee through returned deltas.

Security & trust assessment

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

Who controls it: No privileged key can change fees, pause swaps or move funds. The factory can only register pools and is set at deployment. Trust is placed in the immutable code and in the factory and revenue wallet it references.

Risk to user funds: The hook holds banked fee claims on the PoolManager and transiently ETH during settle. Those funds come only from the 1% swap fee, and the hook cannot block or reroute trader swap principal. Queued shares sit in the hook until pushed to their recipients.

Security findings

  • [info] Immutable fee and split: Fee is hardcoded at 1% and the split at 50/20/30 with no setter, so neither can be changed after deployment.
  • [info] Permissionless payout: settle is callable by anyone and pays out banked fees to the fixed recipients, so payouts cannot be front-run for profit by a third party.
  • [low] Push failures are queued: The revenue and creator share pushes use low-gas or plain calls, and failures are queued in revenueDue and creatorDue, so a recipient reverting does not block swaps or settlement.
  • [info] Strict fee accounting: The afterSwap path reverts with PartialFill if the pool's ETH movement does not match the expected fee, so a swap that the hook cannot account for is rejected rather than silently mis-taken.
  • [low] pushCoin lacks failure handling: The coin treasury deposit is called with a 150k gas budget and failures are queued in coinDue, but pushCoin itself does not catch failures and would revert for a treasury that rejects ETH.

Contract details

Verified source
Yes (HookereumHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
7,096 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta, self-unlock

Pools using HookereumHook