Hook 0xb851…d4c0 on Robinhood Chain
Uniswap v4 Hook Contract 0xb85138cbcae0f7dde777138392f44fd0c995d4c0 on Robinhood Chain · Other
- Volume (24h)
- $487.18K
- Value locked (TVL)
- $55.29K
- All-time volume
- $1.77M
- Pools using this hook
- 14
- Swaps (24h)
- 3,914 (602 traders)
- Total swaps
- 19,469
What it does
A Uniswap v4 hook with swap and liquidity callbacks that appears to track per-pool and token-pair state, with its exact purpose unconfirmed without source.
How it works step by step
- Runs afterInitialize on pool creation to record per-pool state in a mapping.
- Runs afterAddLiquidity after each liquidity addition, updating bookkeeping.
- Runs beforeSwap and afterSwap, reading and writing token-pair keyed mappings.
- Exposes owner-controlled functions to change ownership and the executor address.
- Stores a dynamic array of structs per token pair, suggesting pool or token registration.
- Swap behaviour
- beforeSwap and afterSwap run on every swap and read and write pool-keyed mappings; the precise effect on pricing or execution is not determinable from decoded bytecode.
- Liquidity behaviour
- afterAddLiquidity and beforeAddLiquidity are enabled and beforeRemoveLiquidity/afterRemoveLiquidity are exposed as selectors; the storage writes in b559f080 suggest liquidity-related bookkeeping such as per-pool token arrays, but the exact logic cannot be determined without source.
- Fee behaviour
- Not determined from decoded selectors; no fee setter identified. beforeSwap and afterSwap appear to read and write mappings keyed by token pairs, which may track pool-specific state, but the fee effect cannot be confirmed.
- Owner & admin controls
- Owner (slot 0) can change owner via changeOwner(address) and set an executor address via changeExecutorAddress(address); a separate setter at selector 0x944708d7 also writes slot 1 and is likely privileged. No pause or upgrade functions identified.
Enabled Uniswap v4 callbacks
afterInitialize, afterAddLiquidity, beforeSwap, afterSwap
afterInitialize: runs on pool creation and writes a per-pool mapping (slot 3). afterAddLiquidity: runs after liquidity is added, likely recording state. beforeSwap: reads pool-keyed mappings before each swap. afterSwap: runs after each swap and reads and writes related mappings.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: Owner and executor roles are set in storage. The owner can transfer ownership and change the executor, and the function at 0x944708d7 may grant further control. A compromised owner or executor could alter hook behaviour for all pools this hook manages, though the exact impact cannot be verified from bytecode.
Risk to user funds: The hook has beforeSwap and afterSwap permissions but no return-delta flags are enabled, so it does not take tokens directly from swaps. Whether it can block swaps or move pool funds cannot be determined from the decoded bytecode. The owner-controlled executor role could potentially affect pool behaviour.
Security findings
- [medium] Privileged owner and executor roles: Owner can reassign ownership and the executor address through changeOwner and changeExecutorAddress, with no timelock or multisig evident in the decoded functions.
- [medium] Unnamed privileged setter: The function at 0x944708d7 writes slot 1 and is callable from the owner-related reads, but its purpose is unnamed and cannot be confirmed as access-controlled from bytecode alone.
- [info] Pool registration logic present: The hook reads and writes mappings keyed by token pairs and a per-pool index, and an array-of-structs parameter is accepted by b559f080, which suggests it manages token-pool registration and could affect pool configuration.
- [info] No verified source: Without verified source, the hook's exact behaviour in swap and liquidity callbacks cannot be fully verified, so the risk assessment is provisional.
Contract details
- Verified source
- No
- Bytecode size
- 11,951 bytes
- Upgradeable proxy
- No
Pools using Hook 0xb851…d4c0
- USDG / VRAX (0.30% fee) — 24h volume $340.17K, TVL $30.09K, 1,964 swaps today
- ETH / VRAX (0.30% fee) — 24h volume $133.24K, TVL $20.42K, 1,543 swaps today
- ETH / HOOKR (0.0375% fee) — 24h volume $11.93K, TVL $4.78K, 360 swaps today
- BEANS / USDG (4.00% fee) — 24h volume $1.69K, TVL $0.03, 38 swaps today
- ETH / WOLFPACK (3.00% fee) — 24h volume $120, TVL $0, 5 swaps today
- ETH / DELTA (0.50% fee) — 24h volume $12, TVL $0, 2 swaps today
- ETH / HRX (4.00% fee) — 24h volume $1.80, TVL $0, 2 swaps today
- WOLFPACK / USDG (3.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / VRAX (3.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / VRAX (0.10% fee) — 24h volume $0, TVL $0, 0 swaps today
- WOLFPACK / USDG (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / VRAX (1.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / VRAX (4.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / PONS (3.00% fee) — 24h volume $0, TVL $0, 0 swaps today