Dynamic fee hook on Robinhood Chain

Uniswap v4 Hook Contract 0xcde5dd1c92f1f8064233cd90eb0276b2662faac0 on Robinhood Chain · Dynamic fee

Volume (24h)
$0
Value locked (TVL)
$1.06K
All-time volume
$0
Pools using this hook
3
Swaps (24h)
15 (1 traders)
Total swaps
15

What it does

A Uniswap v4 hook with a single admin that gates pool initialization and liquidity, enforces trusted-router and keeper access, can pause swaps, and performs custom accounting that moves tokens during swaps.

How it works step by step

  • Gates pool initialization through beforeInitialize
  • Restricts liquidity add and remove through beforeAddLiquidity and beforeRemoveLiquidity, with third-party liquidity blocked
  • Runs pre-swap checks for global pause and trusted routers in beforeSwap
  • Performs post-swap accounting and token settlement in afterSwap via unlock callbacks
  • Holds balances that the admin can withdraw or sweep
  • Uses admin-set gas policy parameters and keeper permissions
Swap behaviour
beforeSwap and afterSwap run custom logic that checks global pause and router trust, applies gas-policy checks, and may settle or take currency through the pool manager during the swap.
Liquidity behaviour
beforeAddLiquidity and beforeRemoveLiquidity are enabled and the hook gates third-party liquidity (ThirdPartyLiquidityBlocked error), suggesting liquidity provision may be restricted to designated parties; withdrawFloat and deposit-style functions exist.
Fee behaviour
Fee handling is not conclusively determined from decoded selectors; the hook exposes gas-policy and pool-config parameters and a fee() external call appears, so fees may be set or adjusted by the hook, but this cannot be confirmed without source.
Owner & admin controls
Single admin address (slot 0) set via setAdmin, can pause globally (setGlobalPaused), set residue recipient, manage trusted routers and quoters, manage keepers, set gas policy, and sweep tokens; the admin can also be changed by the current admin and there is no timelock or multisig evidence in bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap

beforeInitialize gates pool initialization; beforeAddLiquidity and beforeRemoveLiquidity gate liquidity changes; beforeSwap applies pre-swap logic including pause and router checks; afterSwap performs post-swap accounting and possibly settles tokens via the pool manager unlock flow.

Security & trust assessment

Risk level: high (decoded bytecode, low confidence).

Who controls it: The admin key can pause all swaps, replace the admin, change trusted routers and quoters, set keepers, redirect residue funds to a chosen recipient, sweep tokens held by the hook, and change gas policy parameters that affect execution.

Risk to user funds: The hook can hold tokens and move them through sweep and withdrawFloat-style functions and via unlock-based settlement, and the admin can pause swaps; users depending on the hook are exposed to admin discretion over held balances and availability.

Security findings

  • [high] Admin sweep and withdrawal of hook-held funds: The admin can call sweep and withdrawal-style functions that move tokens held by the hook, so funds parked in the hook are controlled by a single key.
  • [medium] Global pause can block swaps: setGlobalPaused lets the admin halt swaps across all pools using this hook, which could block trading.
  • [medium] Single-key admin with instant transfer: Admin can reassign admin via setAdmin with no evidence of a delay or multisig, creating a single point of failure.
  • [medium] Hook moves currency via pool manager unlock: The hook calls unlock and uses return-delta style accounting with currency movement, so it can take or settle tokens during swaps and liquidity operations.
  • [info] Unverified source limits analysis: The contract appears to be a non-standard, unverified hook with complex gas and router policy logic; behaviour cannot be fully confirmed from bytecode.

Contract details

Verified source
No
Bytecode size
24,571 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, self-unlock

Pools using Dynamic fee hook