Dynamic fee hook on Robinhood Chain

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

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

What it does

This hook uses return-delta swap callbacks to take over part of swap settlement and holds its own reserve balances, but without verified source its exact fee and pricing direction cannot be confirmed.

How it works step by step

  • Hook exposes a token-based reserve system with ERC20 and ERC6909-style claim balances (transfer, approve, transferFrom, balanceOf, totalSupply) and owner-managed metadata
  • Implements beforeSwap and afterSwap with return deltas, so it can take over part of swap accounting from the pool
  • Holds pool-level state slots for rate, surge, tanks and flush parameters that feed into swap-time calculations
  • Flush and draw functions move currency between the hook and the PoolManager, using the unlock/unlockCallback self-unlock pattern
  • Liquidity add/remove and donate callbacks exist as pure stubs, so the hook does not customize liquidity behaviour
Swap behaviour
beforeSwap and afterSwap are both enabled with return-delta permissions, so the hook can adjust swap amounts and take currency during swaps; the exact pricing formula cannot be confirmed from decoded bytecode, but it reads rateBps, surgeBps and related state slots.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee as far as the hook's permissions show; no dynamic fee flag is set, but the hook may charge via return deltas, which cannot be confirmed without source.
Owner & admin controls
Ownable: owner can transferOwnership and renounceOwnership; owner-only setters are not identified by name in decoded bytecode, so exact parameter controls are uncertain.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize sets initial pool state in storage slots; beforeSwap and afterSwap read configuration and may return deltas that change how much each side of a swap settles; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take or give currency.

Security & trust assessment

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

Who controls it: The owner key can transfer or renounce ownership and likely adjusts parameters affecting swap settlement; a compromised key could alter swap amounts for pool participants.

Risk to user funds: The hook can hold and move currency through return deltas and flush/draw operations, so user swap proceeds and reserves depend on this contract's logic, with no verified source to confirm safety.

Security findings

  • [high] Return deltas let the hook take currency during swaps: beforeSwapReturnDelta and afterSwapReturnDelta are enabled and the bytecode uses unlock/take/burn/mint selectors, so the hook can move pool currency and change trader settlement amounts.
  • [medium] Owner-controlled ownership and parameters: The contract is Ownable with transferOwnership and renounceOwnership; a single key can change ownership and likely configuration storage that drives swap pricing.
  • [medium] Flush and draw move hook-held funds: flush and draw selectors touch balance and supply slots and call unlock, so funds held by the hook can be moved to the PoolManager or withdrawn depending on access checks not visible without source.
  • [info] Unverified source: No verified source is available, so function purposes, access modifiers and math are inferred from selectors and storage only.

Contract details

Verified source
No
Bytecode size
11,661 bytes
Upgradeable proxy
No
Detected patterns
erc20, erc6909-claims, moves-currency, ownable, return-delta, self-unlock

Pools using Dynamic fee hook