Dynamic fee hook on Robinhood Chain

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

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

What it does

A dynamic-fee hook that charges swappers an owner-configured fee, accrues it per pool for claiming by weighted recipients or donation to LPs, gates deposits by whitelist, and never restricts LP withdrawals.

How it works step by step

  • Sets a per-pool dynamic swap fee from a fee configuration chosen at pool creation (default config set by the owner, with per-pool overrides).
  • Can take a hook fee from swaps via a swap return delta and records it as pending fees for each pool.
  • Pending fees can be claimed and split among up to a maximum number of recipients using weights, or donated back to LPs.
  • Pool creation and adding liquidity appear to be restricted to whitelisted addresses or the pool's registered setup, checked by a registrar or owner-managed whitelist.
  • Withdrawals are never touched by the hook, so LPs can always remove liquidity.
Swap behaviour
Before each swap the hook picks a dynamic LP fee for the pool and may deduct a hook fee from the swap amount; after the swap it updates the pool's accrued fee balance and swap count. Exact fee levels and caps cannot be confirmed from bytecode.
Liquidity behaviour
Adding liquidity is checked by the hook and may be limited to whitelisted addresses. Removal callbacks are disabled, so LPs can always withdraw freely.
Fee behaviour
Fees come from an owner-set default config (several fee tiers and percentage splits) with per-pool overrides validated against dynamic fee limits; collected hook fees accrue per pool and are claimed to configured recipients or donated to LPs. Exact maximum percentages are not verifiable from bytecode.
Owner & admin controls
The owner (two-step ownership) can set default fee configs, update pool fee configs and recipient splits, manage the whitelist, and set the registrar. Fee caps on these settings could not be confirmed from bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta

beforeInitialize: registers the pool and applies its fee config, checking whitelist; beforeAddLiquidity: gates who can add liquidity; beforeSwap: sets the dynamic fee and may take a hook fee; afterSwap: records accrued fees and swap counts; beforeSwapReturnDelta: lets the hook deduct its fee from swap amounts.

Security & trust assessment

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

Who controls it: A single owner controls fee configurations, recipient splits, the whitelist, and the registrar. The worst case is raising swap fees to an unverified level or blocking new deposits.

Risk to user funds: The hook can deduct a fee from swap amounts and hold it as pending fees until claimed or donated; the maximum rate is unknown from bytecode. LP principal cannot be locked or drained since withdrawals bypass the hook.

Security findings

  • [medium] Owner-adjustable fees with unverified caps: The owner can change default and per-pool fee settings that feed a swap return delta; validation errors exist but the exact maximum fee is not visible without source.
  • [low] Whitelist gating on pool creation and deposits: An owner-managed whitelist controls who can create pools or add liquidity; it does not affect swaps or withdrawals.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.

Contract details

Verified source
No
Bytecode size
22,683 bytes
Upgradeable proxy
No
Detected patterns
access-control, donates, dynamic-fee, moves-currency, ownable, return-delta, self-unlock

Pools using Dynamic fee hook