Liquidity management hook on Robinhood Chain
Uniswap v4 Hook Contract 0x3bc2783a6d47d8a9d51d334e68b9f7c362bc6a80 on Robinhood Chain · Liquidity management
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
A self-managing liquidity hook that places and repositions its own ETH/token band liquidity, charges a fixed pool fee to all traders equally with no extra hook fee, and gates who may add or remove liquidity.
How it works step by step
- Sets up and initializes its own pool between ETH and a paired token, apparently a single hook-managed pool.
- Holds hook-owned liquidity in a price band (buy and sell liquidity positions) that it repositions through a public poke() function using a time window and oracle-style reference price.
- Accepts ETH deposits and can mint the paired token, tracking ETH claims and a coverage ratio against an ETH cap and depth target.
- Checks pool initialization, liquidity additions, liquidity removals and swaps through before-hooks, likely restricting third-party liquidity to the hook itself.
- Swap behaviour
- Each swap runs a beforeSwap check that cannot take tokens from the swap (no return deltas), but may revert swaps under conditions such as an uninitialized pool or band rules; exact conditions are not verifiable from bytecode.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity run on every LP action and likely only allow the hook's own positions, so outside LPs may be blocked from adding or removing; the hook manages its own liquidity via unlock callbacks.
- Fee behaviour
- Uses a fixed pool fee constant (POOL_FEE) set at deployment; the exact value cannot be read from the decoded bytecode, and no dynamic fee or extra hook fee via deltas is possible.
- Owner & admin controls
- No owner or admin setter functions were found; parameters appear fixed at deployment and actions like poke(), initializePool() and deposit() look permissionless.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap
beforeInitialize: restricts which pool can be created; beforeAddLiquidity: gates who can add liquidity; beforeRemoveLiquidity: gates who can withdraw liquidity; beforeSwap: validates swaps before execution.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: No privileged admin key was identified; behaviour appears fixed at deployment with permissionless maintenance calls.
Risk to user funds: The hook cannot deduct tokens from swaps or liquidity via deltas; it controls its own hook-owned liquidity and deposited ETH, and its remove-liquidity check could block outside LP withdrawals, which is unverified.
Security findings
- [medium] Remove-liquidity gate enabled: beforeRemoveLiquidity runs on withdrawals and could revert for some callers; it likely only restricts outside LPs since the hook owns its own liquidity, but this cannot be confirmed without source.
- [low] Unverified bytecode with currency movement: The hook calls take and mint and manages pool liquidity through self-unlock; exact logic and bounds are unknown.
- [info] No admin functions detected: No owner-controlled setters appear in the dispatched functions, and swap return deltas are disabled so swaps cannot be skimmed.
Contract details
- Verified source
- No
- Bytecode size
- 13,599 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, self-unlock
Pools using Liquidity management hook
- ETH / pLINK (1.50% fee) — 24h volume $0, TVL $0, 0 swaps today