Liquidity management hook on Arc

Uniswap v4 Hook Contract 0xe834ff730e5b4ddc273b82da165f573797a1c840 on Arc · Liquidity management

Volume (24h)
$0
Value locked (TVL)
$0.44
All-time volume
$728.91K
Pools using this hook
1
Swaps (24h)
0 (0 traders)
Total swaps
6,473

What it does

A treasury-controlled hook that manages its own liquidity ranges in one pool, whitelists deposits, and can set a dynamic swap fee of unverified size, while leaving LP withdrawals unrestricted.

How it works step by step

  • Manages hook-owned liquidity positions (bid ranges) in one bound pool, with a treasury and operators who can reposition ranges.
  • Restricts adding liquidity to whitelisted addresses when a whitelist flag is on; ordinary LPs may be blocked from adding.
  • Runs logic after swaps, likely checking thresholds (USDC-denominated) to trigger rebalancing of the hook's position.
  • Treasury can set a dynamic fee, pause operations, and rescue tokens held by the hook.
Swap behaviour
After each swap the hook runs bookkeeping or rebalancing logic, but it cannot take tokens from swaps via return deltas. A treasury-set dynamic fee may apply; its cap is not verifiable from bytecode.
Liquidity behaviour
Adding liquidity can be restricted to whitelisted addresses and may be blocked while paused. Remove-liquidity callbacks are disabled, so LPs can always withdraw.
Fee behaviour
The treasury can set a dynamic LP fee for the pool through a setter; the maximum value could not be confirmed from bytecode (v4 caps LP fees at 100%). Fees go to LPs per normal pool accounting.
Owner & admin controls
A treasury address (with operators) can pause, manage the whitelist, set the dynamic fee, change thresholds and range parameters, reposition hook liquidity, change the treasury, and rescue tokens held by the hook. Exact fee caps are unknown.

Enabled Uniswap v4 callbacks

beforeAddLiquidity, afterSwap

beforeAddLiquidity: gates deposits by whitelist/pause state; afterSwap: post-swap checks and possible rebalancing of hook-managed liquidity.

Security & trust assessment

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

Who controls it: A single treasury address plus approved operators control fees, pausing, whitelisting, and hook-managed positions. They cannot block third-party LP withdrawals.

Risk to user funds: The hook cannot deduct tokens from swaps or LP positions; it can only move funds it holds itself via its own positions and rescue. The swap fee cap is unknown and LP principal cannot be locked.

Security findings

  • [medium] Admin-set dynamic fee with unverified cap: The treasury can call a fee setter for the pool; no cap is visible in unverified bytecode.
  • [medium] Deposit whitelist and pause: The treasury can restrict who adds liquidity and pause the hook's actions.
  • [low] Rescue of hook-held tokens: The treasury can withdraw tokens sitting in the hook contract, including liquidity the hook itself manages, but not other LPs' pool positions.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so withdrawals cannot be blocked.

Contract details

Verified source
No
Bytecode size
16,139 bytes
Upgradeable proxy
No
Detected patterns
access-control, dynamic-fee, moves-currency, pausable, self-unlock

Pools using Liquidity management hook