Likely access control hook on Robinhood Chain
Uniswap v4 Hook Contract 0x9893b52e2340647f9c0ac476d18d100eb92b4a80 on Robinhood Chain · Access control
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 1,795 (902 traders)
- Total swaps
- 1,795
What it does
This is a permissioned pool gate: it charges no extra fee, but the owner can pause swaps, limit trading to approved routers, blacklist wallets, and block LP deposits and withdrawals.
This read was written for the hook 0xb898…0a80 on Robinhood Chain and reused here: the two run the same code.
How it works step by step
- Lets the owner block specific wallets (blacklist) from swapping and from adding or removing liquidity.
- Lets the owner pause all swaps in pools using this hook.
- Restricts swaps to owner-approved routers, likely reading the real trader through the router.
- Restricts adding and removing liquidity to approved liquidity operators or a trusted position manager.
- Does not charge any extra fee; it only allows or rejects actions.
- Swap behaviour
- Before each swap the hook checks the pause flag, whether the router is authorized, and whether the trader is blacklisted, and it reverts if any check fails. It cannot change swap amounts or take fees.
- Liquidity behaviour
- Adding and removing liquidity are checked against the liquidity-operator list and the blacklist. Because the remove-liquidity check runs on every withdrawal, the owner can stop an LP from withdrawing by blacklisting them or removing their operator status.
- Fee behaviour
- Uses the pool's static fee; the hook takes no fees of its own.
- Owner & admin controls
- The owner can pause swaps, add or remove addresses from the blacklist, approve or revoke routers, approve or revoke liquidity operators, register pools, and transfer ownership. No limits on these lists were found.
Enabled Uniswap v4 callbacks
beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap
beforeAddLiquidity: gates deposits to approved operators and non-blacklisted users; beforeRemoveLiquidity: gates withdrawals the same way; beforeSwap: enforces the pause, router allowlist and blacklist.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, medium confidence).
Who controls it: A single owner key controls the pause switch, the blacklist, the router allowlist and the liquidity-operator list. At worst the owner can freeze trading and stop LPs from withdrawing.
Risk to user funds: The hook cannot take or move tokens, and it charges no fee (0%). However, LP principal can be locked in the pool if the owner blacklists the LP or revokes their operator access.
Security findings
- [high] Withdrawals can be blocked: The remove-liquidity callback checks the blacklist and the operator list, so the owner can prevent specific LPs or all non-operators from withdrawing, trapping their principal.
- [medium] Owner can pause swaps and blacklist traders: A single owner can halt all swaps or block individual addresses at any time.
- [medium] Router allowlist: Only owner-approved routers can swap, so trading through other interfaces is rejected.
- [info] No fee extraction: Swap and liquidity return deltas are disabled, so the hook cannot take tokens from swaps or LP positions.
Contract details
- Verified source
- No
- Bytecode size
- 5,059 bytes
- Upgradeable proxy
- No
- Detected patterns
- ownable, pausable