Liquidity management hook on Robinhood Chain

Uniswap v4 Hook Contract 0x11d6a61e611cce328c6d26032fa873d96e0dbacc on Robinhood Chain · Aggregator

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

What it does

A single-pool routing hook that takes a fixed but unverified swap fee for the treasury and LPs, routes trades via owner-chosen venues, gates who can add liquidity, and may time-lock LP withdrawals.

How it works step by step

  • Runs a single dedicated pool that can route swaps through a list of external venues (routes) managed by the owner, settling against those venues and the pool.
  • Charges a fixed hook fee (FEE_PIPS constant) on swaps, with a house share sent to a treasury/vault and part possibly donated to LPs; exact rates are not readable from bytecode.
  • Restricts adding liquidity to allowlisted addresses and approved liquidity routers until the owner permanently opens liquidity to everyone.
  • Records when each position added liquidity and checks this on withdrawal, which suggests a time-based withdrawal lock.
  • Supports pass/signer-based perks and trusted forwarders that may give certain traders top-ups or grants.
Swap behaviour
Before and after each swap the hook can change swap amounts using return deltas, routing parts of trades to external venues and taking a fee; the exact fee and routing logic cannot be verified from bytecode.
Liquidity behaviour
Adding liquidity is gated to allowlisted senders or routers unless the owner opens it permanently. Withdrawals pass through a hook check that reads the position's add time, so LPs may be blocked from withdrawing for some period; the duration is unknown.
Fee behaviour
A hook-level fee defined by a constant (FEE_PIPS) and a house share (HOUSE_SHARE) is taken during swaps and sent to treasury/vault or donated to LPs, and the pool's dynamic LP fee can be updated; exact percentages cannot be determined from bytecode.
Owner & admin controls
The owner can add routes, enable or disable routes, set trusted forwarders, set the pass signer, manage the LP allowlist and liquidity routers, and open liquidity permanently; renouncing ownership is disabled. Caps on route behaviour are not verifiable.

Enabled Uniswap v4 callbacks

beforeInitialize, afterInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize/afterInitialize: lock the hook to one pool and set its fee; beforeAddLiquidity: enforce LP allowlist and record add time; beforeRemoveLiquidity: check position age, can revert withdrawals; beforeSwap/afterSwap: route trades and take fees; beforeSwapReturnDelta/afterSwapReturnDelta: adjust swap amounts to collect fees and settle routes.

Security & trust assessment

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

Who controls it: A single owner controls swap routes, forwarders, signer and LP allowlist, and cannot renounce. They cannot upgrade the contract, but route choices affect swap execution.

Risk to user funds: The hook can take part of swap input/output via return deltas at an unverified fee rate and can sweep its own balance to the treasury. LP withdrawals may be temporarily restricted by an age check; exact limits unknown.

Security findings

  • [medium] Withdrawal check on LP removal: beforeRemoveLiquidity reads each position's add time and can revert, likely a time lock on withdrawals; duration unverified.
  • [medium] Owner-managed swap routes with return deltas: Swaps can be routed through owner-configured external venues while the hook modifies swap amounts; route safety and fee size cannot be confirmed from bytecode.
  • [low] Gated liquidity provision: Only allowlisted addresses or routers can add liquidity until the owner opens it forever.

Contract details

Verified source
No
Bytecode size
24,450 bytes
Upgradeable proxy
No
Detected patterns
donates, dynamic-fee, liquidity-management, moves-currency, ownable, return-delta

Pools using Liquidity management hook