Dynamic fee hook on Robinhood Chain

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

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$3.52K
Pools using this hook
2
Swaps (24h)
0 (0 traders)
Total swaps
135

What it does

A Uniswap v4 hook that applies owner-configurable dynamic fee settings to swaps and restricts liquidity additions to a whitelist.

How it works step by step

  • Hooks into pool initialization to set up per-pool settings
  • Applies configurable fee logic in beforeSwap using stored fee parameters
  • Gates liquidity additions through an owner-managed whitelist in beforeAddLiquidity
  • Stores per-pool settings and a fee configuration version, updated by owner setters
  • Uses two-step ownership and an owner-settable registrar and position manager reference
Swap behaviour
beforeSwap runs on every swap, applying the hook's per-pool settings and fee configuration, and updates per-pool state stored in the hook.
Liquidity behaviour
beforeAddLiquidity checks a whitelist (isWhitelisted mapping) that gates liquidity provision; beforeRemoveLiquidity and afterAddLiquidity/afterRemoveLiquidity are present as stubs or pure functions.
Fee behaviour
Fees appear to be per-pool configurable via stored pool settings and a fee configuration (feeConfig, feeConfigVersion, poolSettings), with fee parameters written by owner-level setters; exact fee formula cannot be confirmed without source.
Owner & admin controls
Owner (two-step transfer via transferOwnership/acceptOwnership) can set fee configuration through functions 0x4166af4c and 0xd280b457 and 0xd588df3c (pool settings and fee parameters), set the registrar (setRegistrar), and manage the whitelist (setWhitelisted, setWhitelistedBatch). Fee config version is tracked on-chain. Upgradeability is not indicated in the decoded input.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap

beforeInitialize: validates or sets up pool settings at pool creation. beforeAddLiquidity: gates liquidity additions against a whitelist. beforeSwap: applies the hook's swap logic, likely dynamic fee or weighting, and records per-pool state.

Security & trust assessment

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

Who controls it: The owner can whitelist or de-whitelist addresses, which can block liquidity provision by non-whitelisted accounts, and can change fee parameters for pools, affecting swap costs for traders.

Risk to user funds: The hook does not appear to take custody of tokens. Its main influence on user funds is through the swap fee it sets and the liquidity whitelist gate, which can block deposits. Decoded bytecode does not show return-delta token transfers, so direct fund seizure is not indicated, but this cannot be fully confirmed without verified source.

Security findings

  • [medium] Owner can change fee parameters: Owner-controlled fee setters (0x4166af4c, 0xd280b457, 0xd588df3c) can change fee parameters that apply to existing pools, so the owner could raise fees to extract value from traders.
  • [medium] Whitelist can block liquidity provision: beforeAddLiquidity reads the isWhitelisted mapping, so the owner can prevent specific addresses from adding liquidity.
  • [info] Two-step ownership transfer: Ownership is transferred in two steps (transferOwnership then acceptOwnership), which reduces the risk of accidental transfer to a wrong address.
  • [low] Owner-settable registrar: The registrar address is settable by the owner and is used in pool-related logic; a malicious registrar could alter behaviour, though its effect cannot be confirmed without source.

Contract details

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

Pools using Dynamic fee hook