Dynamic fee hook on Robinhood Chain

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

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

What it does

This hook runs custom logic on swaps and liquidity additions through an upgradeable proxy, and its exact fee and trader pricing could not be confirmed from the decoded bytecode.

How it works step by step

  • Proxy contract: every call is delegated to implementation 0x11996b4e04571718d49454fc52830dc7fa0ff99c, which is what actually runs.
  • Exposes a single dispatched entry point (selector 0xf6adc4a2) taking an address, five uint256 values, a bool, a uint128, an address pair, uint16, uint96, uint8 and bytes, which suggests a signed, parameterised configuration or update call.
  • Contains an executeArbitrage(...) call reference and an executionBlockNumber() reference, indicating the implementation includes an arbitrage/rebalancing execution path tied to block numbers.
  • Enables beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta and afterSwapReturnDelta, so it can gate pool setup and liquidity, and alter swap amounts and deltas.
  • Upgradeable through the proxy, so the logic behind these hooks can be replaced by whoever controls the proxy admin.
Swap behaviour
Runs beforeSwap and afterSwap, and has return-delta permissions enabled, so it can modify swap amounts and take or adjust balances during swaps; the exact fee or price logic cannot be determined from the decoded bytecode alone, and which trades pay more or less is unknown.
Liquidity behaviour
beforeAddLiquidity is enabled, so liquidity additions pass through the hook and can be gated or rejected; removal behaviour is not hooked.
Fee behaviour
Fees are not confirmed as static; the presence of beforeSwap, afterSwap and return-delta permissions suggests a dynamic or custom fee/delta mechanism, but the exact calculation is not determinable from the bytecode.
Owner & admin controls
Upgradeable proxy, so an admin key can change the implementation and therefore all hook behaviour. Any owner, pause or parameter controls in the implementation could not be identified without source.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize gates pool creation; beforeAddLiquidity gates or inspects liquidity additions; beforeSwap runs before each swap and can set swap deltas; afterSwap runs after each swap and can adjust deltas; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take or return currency deltas.

Security & trust assessment

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

Who controls it: A proxy admin can upgrade the implementation and redirect any swap or liquidity logic, including delta-taking and arbitrage execution.

Risk to user funds: Because the hook can alter swap deltas and reference arbitrage execution, it can potentially hold or move pool funds; the magnitude depends on implementation logic that cannot be verified here.

Security findings

  • [high] Upgradeable proxy: The hook delegates all calls to implementation 0x11996b4e04571718d49454fc52830dc7fa0ff99c, so whoever controls the proxy admin can replace the logic at any time.
  • [high] Return-delta permissions: beforeSwapReturnDelta and afterSwapReturnDelta are enabled, letting the hook alter swap amounts and take currency from pool flows.
  • [medium] Arbitrage execution path: The implementation references executeArbitrage and executionBlockNumber, which could move pool funds in ways not visible from the hook interface.
  • [medium] Unverified source: No verified source is available, so the exact logic, admin roles and any pause or fee parameters cannot be confirmed.

Contract details

Verified source
No
Bytecode size
9,444 bytes
Upgradeable proxy
Yes
Detected patterns
return-delta, upgradeable

Pools using Dynamic fee hook