Dynamic fee hook on Robinhood Chain
Uniswap v4 Hook Contract 0x1bf81dc5a291e003d8dad4e9a7076329d644c5c7 on Robinhood Chain · Dynamic fee
- Volume (24h)
- $0
- Value locked (TVL)
- <$0.01
- All-time volume
- $27.16M
- Pools using this hook
- 4
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 11,714
What it does
A Uniswap v4 hook that applies owner-configurable tiered dynamic fees to swaps, with pause and whitelist controls and return-delta hooks on swaps and liquidity changes.
How it works step by step
- Sets a dynamic LP fee per swap from tiered, bot and floor fee settings with a fee cap.
- Supports per-pool and per-address fee overrides set by the owner.
- Can pause all swaps or restrict them to a whitelist and trusted routers.
- Takes a portion of swap output via afterSwapReturnDelta.
- Runs logic and may take or give tokens on liquidity additions and removals via return-delta callbacks.
- Lets the owner withdraw tokens held by the hook.
- Swap behaviour
- beforeSwap checks pause, whitelist and trusted-router state and selects a fee from tiers, bot fee, floor fee or overrides. afterSwap updates swap counters and can take a fee-based delta from the output.
- Liquidity behaviour
- afterAddLiquidity, afterRemoveLiquidity and their return-delta variants are enabled, so the hook can adjust the balance deltas of liquidity operations. Before-liquidity checks may also gate additions and removals. Specific logic cannot be confirmed without source.
- Fee behaviour
- Fees are dynamic and set by the hook in beforeSwap: a tiered fee scheme (tierOne, tierTwo, tierThree fees), a bot fee, a floor fee and a fee cap, with per-pool and per-address fee overrides. Fee values appear to be stored in packed storage slot 3 and set by owner-only selectors. The hook also returns a fee-based delta in afterSwap, which may capture or redirect part of swap value.
- Owner & admin controls
- Owner (Ownable2Step: transferOwnership, acceptOwnership, renounceOwnership) can pause and unpause swaps via setPaused, toggle whitelistOnly, set default and tier fees (setFeeConfig-style selectors 0x2d398609, 0xf62ab668, 0xb7547be1), set per-pool and per-address fee overrides (setFeeOverride 0x2b6ad0e8, poolFeeOverride, feeOverride), manage trusted routers (setTrustedRouter), set an exempt address, add or remove addresses from lists (0x292b0179, 0xefc19b20), set bot fee and floor fee, and withdraw tokens held by the hook (withdraw 0xd9caed12). Upgradeability is not indicated.
Enabled Uniswap v4 callbacks
afterAddLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta, afterAddLiquidityReturnDelta, afterRemoveLiquidityReturnDelta
beforeSwap sets a dynamic fee and checks pause and whitelist state; afterSwap updates swap counters and may return a delta; afterSwapReturnDelta lets the hook take a portion of the swap output; afterAddLiquidity and afterRemoveLiquidity run accounting or checks; afterAddLiquidityReturnDelta and afterRemoveLiquidityReturnDelta let the hook take or give tokens on liquidity operations.
Security & trust assessment
Risk level: high (decoded bytecode, low confidence).
Who controls it: The owner can pause all swaps, enable whitelist-only access, change every fee tier including raising fees toward the cap, set per-pool and per-address fee overrides, and withdraw tokens the hook holds. A compromised owner key could extract hook-held balances or impose high fees on targeted pools or addresses.
Risk to user funds: The hook holds tokens through return deltas taken on swaps and liquidity operations, and the owner can withdraw them. Swaps can be blocked by pause or whitelist settings, and fees can be raised within the cap. Users depend on the owner key not to abuse these powers.
Security findings
- [medium] Owner can pause swaps: The hook is ownable and has setPaused, so a single owner key can halt swaps for every pool using it.
- [high] Owner withdrawal of hook-held tokens: The withdraw function with a token address and amount is callable by the owner, and the hook uses take and return deltas that can accumulate tokens.
- [medium] Owner-controlled dynamic fees and overrides: Fee tiers, bot fee, floor fee and per-pool or per-address overrides are settable by the owner, so fees can be raised or targeted at specific addresses within the fee cap.
- [medium] Whitelist and router gating: whitelistOnly and trusted router settings can restrict which addresses may swap, limiting access for regular users.
- [info] Unverified source: Without verified source, the exact behaviour of return-delta callbacks and the withdraw logic cannot be confirmed from bytecode alone.
Contract details
- Verified source
- No
- Bytecode size
- 22,129 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, ownable, pausable, return-delta
Pools using Dynamic fee hook
- ETH / USDG (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- WETH / USDG (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / USDG (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / USDG (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today