Dynamic fee hook on Robinhood Chain

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

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$24.50M
Pools using this hook
5
Swaps (24h)
0 (0 traders)
Total swaps
23,111

What it does

A Uniswap v4 hook that applies owner-configurable tiered swap fees, optionally whitelists senders, and collects a hook fee from swaps.

How it works step by step

  • Selects a swap fee per sender using default and tiered fee settings
  • Applies a sender whitelist that can alter fee treatment
  • Takes a hook fee from swap output via afterSwapReturnDelta and transfers it to a fee recipient
  • Supports pausing by the owner to halt hook-controlled swaps
Swap behaviour
Before each swap the hook determines the fee for the sender from tiers and whitelist settings; after each swap it may take a hook fee from the output and transfer it to the fee recipient.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Fees appear to be tiered and configurable (default fee plus tier one, two and three fees, with a sender-based fee mapping and whitelist), with fee values stored in packed storage slots. The hook uses a before-swap callback that likely selects a fee tier per sender and an after-swap callback that may take a hook fee sent to hookFeeRecipient.
Owner & admin controls
Owner-restricted functions include owner(), paused() with pause-related selectors (ACTION_SET_PAUSED), setting per-address fee tiers and sender whitelist entries (senderWhitelist, senderWhitelistEnabled), and fee configuration (defaultFee, tierOneFee, tierTwoFee, tierThreeFee, getFeeConfig). Owner can likely pause the hook and change fee parameters; exact setter names are not confirmed without source.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, afterSwapReturnDelta

beforeSwap: likely selects the swap fee for the sender based on configured tiers and whitelist. afterSwap: likely computes and takes a hook fee from swap output and forwards it to the fee recipient. afterSwapReturnDelta: lets the hook take a delta from the swap result, which is how the hook fee is collected.

Security & trust assessment

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

Who controls it: The owner controls pausing, fee tiers and the whitelist, and can set the fee recipient. A privileged key could raise fees or pause swaps for pool users, or redirect hook fees.

Risk to user funds: The hook can take a currency delta from swaps and transfer tokens to the fee recipient, and it can block swaps when paused. It does not appear to hold pool liquidity directly, but fee changes and pausing affect user funds.

Security findings

  • [medium] Hook takes currency via return delta: afterSwapReturnDelta lets the hook take tokens from swap output, and the bytecode contains transfer and take calls, so the hook moves user funds.
  • [medium] Owner-controlled pause: A paused() view and pause action selector exist, so an owner can halt swaps through the hook.
  • [medium] Owner can change fees: Fee tiers and the defaultFee are owner-settable per the storage and selector layout, so fees may be raised for swappers.
  • [info] Unverified source: Storage layout is inferred from decoded bytecode without source, so setter semantics and bounds are unverified.

Contract details

Verified source
No
Bytecode size
14,683 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, pausable, return-delta

Pools using Dynamic fee hook