Dynamic fee hook on Robinhood Chain

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

Volume (24h)
$0
Value locked (TVL)
<$0.01
All-time volume
$50.44K
Pools using this hook
6
Swaps (24h)
0 (0 traders)
Total swaps
1,037

What it does

A dynamic-fee hook that sets each swap's fee from admin-managed settings (exact range unverified) and limits new liquidity to whitelisted addresses, while LPs can always withdraw freely.

This read was written for the hook 0x5835…6880 on Arc and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Requires pools to use dynamic fees and checks pool setup when a pool is created (rejects non-dynamic-fee pools).
  • Sets the swap fee per swap from an owner/registrar-configured fee configuration and per-pool settings; exact formula and caps cannot be confirmed from bytecode.
  • Restricts adding liquidity to whitelisted addresses maintained by the owner or registrar.
  • Tracks per-pool swap state (timestamps or counters) that appear to feed into the dynamic fee calculation.
Swap behaviour
Before each swap the hook computes a fee override for the dynamic-fee pool and records per-pool data; it can reject invalid swap amounts. It cannot take tokens from swaps directly because swap return deltas are disabled.
Liquidity behaviour
Adding liquidity is gated by a whitelist the owner/registrar controls, so non-whitelisted users may be blocked. Remove-liquidity callbacks are disabled, so LPs can always withdraw freely.
Fee behaviour
The pool's LP fee is set dynamically per swap from a stored fee configuration (base/min/max style values plus per-pool parameters); exact percentages and any hard cap are unknown from bytecode, and fees go to LPs through the normal pool fee mechanism.
Owner & admin controls
The owner (two-step ownership) and a registrar can update the global fee configuration, per-pool settings, the registrar address, and the LP whitelist. Whether the fee configuration has a hard upper cap cannot be verified from bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap

beforeInitialize: validates the pool uses dynamic fees and registers pool settings; beforeAddLiquidity: enforces the LP whitelist; beforeSwap: calculates and applies the dynamic swap fee and records swap state.

Security & trust assessment

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

Who controls it: An owner and a registrar control fee settings and the LP whitelist. At worst they can raise swap fees (cap unverified) or stop new liquidity additions, but cannot block withdrawals.

Risk to user funds: The hook holds no user funds and cannot deduct tokens via return deltas; it only influences the pool fee rate, whose maximum is unknown from bytecode. LP principal cannot be locked or drained by the hook.

Security findings

  • [medium] Admin-set dynamic fee with unverified cap: Owner/registrar functions write the fee configuration and per-pool fee parameters; without source the maximum fee cannot be confirmed.
  • [low] Whitelist-gated liquidity adds: Only addresses approved by the owner or registrar can add liquidity; this does not affect existing positions.
  • [info] Withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LPs can always remove their liquidity.

Contract details

Verified source
No
Bytecode size
9,983 bytes
Upgradeable proxy
No
Detected patterns
ownable

Pools using Dynamic fee hook