Liquidity management hook on Robinhood Chain
Uniswap v4 Hook Contract 0x11cc9a39acf505bed0a15b37bc82961dad0c2880 on Robinhood Chain · Liquidity management
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 16 (1 traders)
- Total swaps
- 16
What it does
An operator-managed liquidity hook where the owner or keepers place concentrated ranges, set a dynamic swap fee up to an unverified cap, and can pause trading, while LP withdrawals can never be blocked.
How it works step by step
- Manages pool liquidity itself: the owner or keepers create pools and add or reposition concentrated liquidity ranges through the PoolManager.
- Uses a dynamic LP fee that an owner or keeper can set per pool, up to a coded MAX_FEE whose exact value is not readable from bytecode.
- Checks pool state before swaps and can pause or resume a pool, which likely blocks swaps while paused.
- Checks third-party liquidity additions before they go through, which may restrict outside LPs.
- Supports funding positions with tokens via Permit2 and exiting positions, holding positions as claim balances.
- Swap behaviour
- Before each swap the hook reads pool state and can reject swaps on a paused pool. It cannot take tokens from swaps, because swap return deltas are disabled.
- Liquidity behaviour
- Liquidity additions are checked by the hook and may be limited to the hook's own managed positions. Remove-liquidity callbacks are disabled, so the hook can never block anyone's withdrawals, though hook-managed liquidity is controlled by the owner and keepers.
- Fee behaviour
- Uses a dynamic LP fee that the owner or keepers set per pool with setFee, capped by a MAX_FEE constant whose exact value could not be confirmed from bytecode. Fees go to the pool's liquidity, which is mostly the hook-managed position.
- Owner & admin controls
- The owner, with two-step ownership transfer, can appoint keepers, pause and resume pools, set fees up to MAX_FEE, and fund, reposition, or exit managed liquidity. The exact fee cap is unknown from bytecode.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap
beforeInitialize: validates pool setup and registers the pool; beforeAddLiquidity: gates or checks new liquidity; beforeSwap: checks pause and range state before trades.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: An owner and keeper addresses control fees, pausing, and the managed liquidity positions. At worst they can halt swaps or set fees up to the unknown MAX_FEE.
Risk to user funds: Traders only pay the pool LP fee, up to an unverified cap, and the hook cannot deduct swap tokens. Funds deposited into the hook's managed positions are controlled by the operator, while direct LP positions can always be withdrawn.
Security findings
- [medium] Admin can pause pools: The owner or keepers can pause a pool, which likely makes swaps revert until the pool is resumed.
- [low] Admin-set dynamic fee: Fees are set by the owner or keepers and capped at MAX_FEE, but the cap value is not verifiable from unverified bytecode.
- [info] Withdrawals cannot be blocked: Remove-liquidity callbacks and all return deltas are disabled, so the hook cannot block LP withdrawals or take tokens from swaps.
Contract details
- Verified source
- No
- Bytecode size
- 23,105 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, erc6909-claims, moves-currency, ownable, self-unlock
Pools using Liquidity management hook
- ETH / CASHCAT (Dynamic fee) — 24h volume $0, TVL $0, 16 swaps today