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
- ETH / USDG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / USDG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- SPCX / USDG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- SPY / USDG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / AAPL (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today