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
- ETH / ROLL (0.00% fee) — 24h volume $97, TVL $64, 1 swaps today