Dynamic fee hook on Robinhood Chain

Uniswap v4 Hook Contract 0x32f1bee6b275dd98f26fb84ce2dd03fbf0b780cc 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

A Uniswap v4 hook that charges direction-dependent buy and sell fees on swaps and routes the fee to a recipient address.

How it works step by step

  • Charges a buy fee (BUY_FEE_BPS) and a sell fee (SELL_FEE_BPS) on swaps
  • Adjusts swap deltas via beforeSwapReturnDelta and afterSwapReturnDelta
  • Withdraws the fee currency from the pool manager using take
  • Sends collected fees to feeRecipient
  • Passes liquidity add, remove and donate callbacks through without changes
Swap behaviour
beforeSwap and afterSwap are active, with return deltas enabled; the hook applies a buy or sell fee depending on swap direction and takes that amount to the fee recipient.
Liquidity behaviour
Liquidity add, remove and donate callbacks are present as view-style selectors, suggesting pass-through handling with no state changes; no active liquidity manipulation is evident.
Fee behaviour
Hook exposes BUY_FEE_BPS and SELL_FEE_BPS getters and a feeRecipient getter, indicating a direction-dependent fee taken on swaps and routed to a fee recipient; exact fee-taking math is not confirmed from bytecode alone.
Owner & admin controls
No admin controls found. No owner, pause or upgrade functions were identified among the dispatched selectors; fee parameters appear to be exposed as read-only getters (BUY_FEE_BPS, SELL_FEE_BPS, feeRecipient).

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeSwap and afterSwap are used to inspect swaps and apply the fee; beforeSwapReturnDelta and afterSwapReturnDelta indicate the hook adjusts swap deltas, so it can take a share of swap amounts; the take(address,address,uint256) call indicates it withdraws currency from the pool manager to the fee recipient.

Security & trust assessment

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

Who controls it: Without source, it is unclear whether BUY_FEE_BPS and SELL_FEE_BPS are constants or mutable; if mutable with no access control visible in the decoded selectors, a privileged key could change fees, but no setter was identified.

Risk to user funds: The hook can withdraw a portion of swap currency from the pool manager and send it to feeRecipient through return-delta accounting, so swappers pay the fee on the affected side; it does not appear to hold user funds persistently.

Security findings

  • [info] Hook takes swap currency via return deltas: The hook can take currency from the pool via return deltas and the take call, diverting part of each swap to feeRecipient.
  • [low] Fee parameters appear non-adjustable: No setter for fees or recipient was found among dispatched selectors, so fee parameters appear immutable or set elsewhere; this could not be fully verified.
  • [medium] Unverified source limits assurance: Source is unavailable, so the exact fee formula, access control on feeRecipient and any revert paths cannot be confirmed.

Contract details

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

Pools using Dynamic fee hook