Liquidity management hook on Robinhood Chain

Uniswap v4 Hook Contract 0xc0d2543e2a5f8eadd6fb866f3cf7e1e22a5e6800 on Robinhood Chain · Liquidity management

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

What it does

A factory-style hook that manages pooled liquidity for each pool it creates, giving LPs shares and splitting earned trading fees between creators and the protocol, while all traders pay the same fixed pool fee.

This read was written for the hook 0x5766…2800 on Robinhood Chain 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

  • Acts as a factory and router that creates pools tied to this hook and manages a single full-range-style liquidity position per pool (fixed tick bounds and LP fee constants).
  • Blocks direct liquidity additions that do not come through the hook itself, so LPs deposit via the hook's addLiquidity function and receive share tokens.
  • LPs withdraw through the hook's removeLiquidity function by burning shares; the hook has no withdrawal callback.
  • Collects trading fees earned by the position and splits them between a pool creator and a protocol fee recipient, who can claim them later.
Swap behaviour
No swap callbacks. Swaps pay the pool's fixed LP fee and the hook cannot take any cut from swaps directly.
Liquidity behaviour
The beforeAddLiquidity check appears to restrict adding liquidity to the hook's own managed flow, so deposits go through the hook in exchange for shares. Remove-liquidity callbacks are disabled, and LPs exit by burning shares through the hook's removeLiquidity function, which the bytecode does not show as owner-pausable.
Fee behaviour
Uses a fixed pool LP fee set as a hard-coded constant (exact value not readable from bytecode). Collected position fees are split between the pool creator and the protocol fee recipient by a ratio not determinable from bytecode.
Owner & admin controls
The owner can change the protocol fee recipient address and transfer or renounce ownership. No fee-setting, pause, or withdrawal-blocking functions were found.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity

beforeInitialize: ensures only pools created by this factory with the expected settings can initialize; beforeAddLiquidity: restricts liquidity additions to the hook-managed position.

Security & trust assessment

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

Who controls it: An owner key can only redirect the protocol share of fees to a new address. It cannot change swap fees or pause withdrawals based on the visible functions.

Risk to user funds: LP deposits sit in a hook-owned Uniswap position and are returned by burning shares through the hook; no admin path to drain principal is visible, but share accounting is unverified. Swaps carry only the fixed pool fee.

Security findings

  • [medium] Unverified hook holds LP position: Liquidity is held in a position owned by the hook and LPs rely on the hook's share accounting to withdraw; the logic cannot be verified without source.
  • [info] Owner limited to fee recipient: Owner functions visible in bytecode only update the protocol fee recipient and ownership.
  • [info] Not upgradeable: The contract is not a proxy, so its code cannot be swapped out.

Contract details

Verified source
No
Bytecode size
19,394 bytes
Upgradeable proxy
No
Detected patterns
erc20, erc6909-claims, moves-currency, ownable, self-unlock

Pools using Liquidity management hook