Dynamic fee hook on Robinhood Chain

Uniswap v4 Hook Contract 0x66841ecfd6c36db17da8699918b72ce089c44088 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 runs before each swap and can adjust the swap's accounting and move currency out of the pool, but its exact fee and pricing effects cannot be determined from the bytecode alone, so it is unclear which trades pay more or less.

How it works step by step

  • Implements a beforeSwap hook that can return a custom delta, letting it take over part of the swap accounting from the pool
  • Calls take(address,address,uint256) on the pool manager, which moves currency out of the pool to the hook
  • Reads and writes four uint256 storage slots (slots 0 through 3) on each swap and on a view call, suggesting tracked state such as counters, parameters or balances
  • Uses a Panic(uint256) error path, indicating checked arithmetic or assertion-style guards
Swap behaviour
On every swap, beforeSwap runs and can return a non-zero delta that changes the swap amounts; the hook also withdraws currency from the pool via take. The exact pricing or fee logic cannot be determined from the decoded bytecode alone.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Cannot be determined from the decoded bytecode; the hook does not enable an afterSwap or dynamic fee override that is visible, so fees are not clearly set here.
Owner & admin controls
No admin controls found in the decoded selectors; the view function and storage writes do not reveal an owner check, though this cannot be confirmed without source.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap is enabled to inspect and adjust each swap before execution; beforeSwapReturnDelta is enabled so the hook can return a delta that alters the swap's token amounts and moves currency via take.

Security & trust assessment

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

Who controls it: Cannot be determined from the bytecode; if any storage slot holds an owner or parameter, that key could change swap amounts or the delta the hook returns.

Risk to user funds: The hook can hold or move pool currency through take and return deltas that adjust swap settlement, so it can affect user trade amounts; whether it can block swaps cannot be confirmed.

Security findings

  • [high] Return delta can alter swap accounting: With beforeSwapReturnDelta enabled, the hook can return a delta that changes amounts the pool settles, and it calls take to move currency out of the pool. This gives the hook direct influence over user and pool funds.
  • [medium] Currency movement via take: The bytecode contains a take(address,address,uint256) call, so the hook can withdraw tokens from the pool manager during swaps. The conditions for taking are not visible without source.
  • [medium] Mutable state written on swap: Storage slots 0 to 3 are written in beforeSwap and read by a view function, so swap behaviour may depend on mutable state that could be changed by whoever controls the writes.
  • [info] Unverified source: No verified source is available, so the intent of the logic and any owner or upgrade controls cannot be confirmed from the bytecode.

Contract details

Verified source
No
Bytecode size
1,274 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta

Pools using Dynamic fee hook