FeeHook on Ethereum

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

Volume (24h)
$97
Value locked (TVL)
$64
All-time volume
$8.90K
Pools using this hook
1
Swaps (24h)
1 (1 traders)
Total swaps
47

What it does

Every buy or sell of ROLL pays a fixed 1% fee in ROLL to an immutable reserve address, only exact-input swaps work, and LPs can add and withdraw freely.

How it works step by step

  • Charges a fixed 1% fee on every swap that touches the ROLL token, whether you buy or sell it.
  • When ROLL is the token you pay in, 1% of your input is taken before the swap; when ROLL is what you receive, 1% of your output is taken after the swap.
  • All fees go straight to a fixed reserve address set at deployment.
  • Only exact-input swaps are allowed; exact-output swaps revert.
  • A one-time operator function lets the deployer seed initial liquidity, and that position is owned by the hook with no withdrawal function.
Swap behaviour
Exact-output swaps are rejected. If ROLL is the input, 1% of the input amount is taken to the reserve before the swap. If ROLL is the output, 1% of the received ROLL is taken to the reserve after the swap.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely. The operator can seed one liquidity position once, held by the hook, and the hook has no code to remove it, so that seed liquidity is effectively locked forever.
Fee behaviour
A fixed, hard-coded 1% fee in ROLL is charged on both buys and sells of ROLL, sent to an immutable reserve address, on top of the pool's normal LP fee.
Owner & admin controls
No admin controls over fees or swaps. The operator can only call a one-time liquidity seeding function, and the token, reserve and operator addresses are immutable.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeSwap: blocks exact-output swaps and takes 1% of ROLL input; beforeSwapReturnDelta: charges that input fee to the swapper; afterSwap: takes 1% of ROLL output; afterSwapReturnDelta: deducts that fee from the swapper's output.

Security & trust assessment

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

Who controls it: The operator can only seed liquidity once and has no other powers. Fee rate and recipient are immutable.

Risk to user funds: The hook takes exactly 1% of the ROLL amount on each swap involving ROLL and nothing else. It cannot touch LP positions, and LP withdrawals are unrestricted.

Security findings

  • [info] Fixed 1% fee: The fee is a hard-coded 1% of the ROLL side of each swap and cannot be changed by anyone.
  • [info] Exact-input only: Swaps that specify an exact output amount always revert, which some routers may not handle.
  • [info] Seed liquidity locked: Liquidity seeded by the operator is owned by the hook, which has no withdraw function, so it stays in the pool permanently. Other LPs are unaffected.

Contract details

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

Pools using FeeHook