Dynamic fee hook on Robinhood Chain
Uniswap v4 Hook Contract 0x7a7267b987b0226c3ff3abfe873c0c47dcfd05c7 on Robinhood Chain · Dynamic fee
- Volume (24h)
- $0
- Value locked (TVL)
- <$0.01
- All-time volume
- $16.83M
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 12,052
What it does
A Uniswap v4 hook on BSC that appears to set dynamic, tiered swap fees and apply policy controls, with owner-managed fee overrides and a pausable design.
How it works step by step
- Sets dynamic swap fees in beforeSwap using stored tier, bot, default and floor fee parameters
- Supports per-pool and per-address fee overrides managed by the owner
- Uses afterSwap and afterSwapReturnDelta to potentially take a share of swap deltas
- Uses afterAddLiquidity and afterRemoveLiquidity callbacks with return-delta permissions
- Maintains an allowlist of addresses and a pausable switch controlled by the owner
- Owner can withdraw tokens the hook holds
- Swap behaviour
- beforeSwap and afterSwap are enabled; beforeSwap sets a dynamic fee from stored tier, bot and default fees with overrides, and afterSwap can take a return delta from the swap.
- Liquidity behaviour
- afterAddLiquidity and afterRemoveLiquidity callbacks are enabled with return-delta permissions, so the hook can take or credit a balance delta on liquidity changes; exact behaviour is not determinable from the decoded bytecode.
- Fee behaviour
- Fees are dynamic and tiered: beforeSwap reads stored tier fees, a bot fee, a default fee and a floor fee, with per-pool and per-address fee overrides (poolFeeOverride, feeOverride) and a FEE_CAP. Exact tier selection logic cannot be determined without source.
- Owner & admin controls
- Owner (slot 0) with two-step ownership transfer (transferOwnership, acceptOwnership, pendingOwner) can pause or unpause the hook (setPaused), set per-pool and per-address fee overrides (setFeeOverride), change tier and default fee parameters (setting functions 0x2d398609, 0xf62ab668, 0xb7547be1), manage a policy allowlist (0x8cff711b, 0x292b0179, 0xa8f4d212), toggle policy flags, and withdraw tokens held by the hook (withdraw(address,address,uint256)). Owner may also renounce ownership.
Enabled Uniswap v4 callbacks
afterAddLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta, afterAddLiquidityReturnDelta, afterRemoveLiquidityReturnDelta
beforeSwap adjusts swap fees; afterSwap and afterSwapReturnDelta can take a delta from swaps; afterAddLiquidity, afterRemoveLiquidity and their return-delta variants can take or credit deltas on liquidity changes; afterSwap and liquidity hooks rely on the pool manager take call.
Security & trust assessment
Risk level: high (decoded bytecode, low confidence).
Who controls it: A single owner key controls pausing, fee parameters, per-pool and per-address fee overrides, the policy allowlist and withdrawals of hook-held tokens. A compromised or malicious owner could raise fees toward the cap, block swaps via pause, or drain tokens accumulated by the hook.
Risk to user funds: The hook has return-delta permissions and calls the pool manager take function, so it can hold and move currency. The owner can withdraw hook-held balances and pause swaps; user funds exposure is significant but the exact amounts taken per swap cannot be confirmed without source.
Security findings
- [medium] Return-delta permissions allow hook to take user funds: Hook uses afterSwapReturnDelta and afterAddLiquidityReturnDelta/afterRemoveLiquidityReturnDelta, so it can take a portion of user flows and hold tokens; it also calls take on the pool manager.
- [high] Owner withdrawal of hook-held tokens: Owner can call withdraw to move tokens the hook holds to an address of its choice.
- [medium] Owner-adjustable fees: Owner can set pool and address fee overrides and tier fees; dynamic fee parameters without visible timelock let owner change swap cost for users.
- [medium] Owner pause switch: setPaused allows the owner to halt hook logic, which can block swaps or liquidity operations depending on which callbacks check the paused state.
- [info] Two-step ownership transfer: Ownership is two-step (pendingOwner and acceptOwnership), which reduces risk of accidental transfer but does not limit owner power.
Contract details
- Verified source
- No
- Bytecode size
- 22,065 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