Hook 0xa735…eac0 on Robinhood Chain

Uniswap v4 Hook Contract 0xa735d365630987d86789d5aefbd91b244a7feac0 on Robinhood Chain · Other

Volume (24h)
$291.36K
Value locked (TVL)
$0
All-time volume
$1.26M
Pools using this hook
37
Swaps (24h)
3,586 (480 traders)
Total swaps
12,640

What it does

A Uniswap v4 hook on Base with swap and liquidity callbacks that appears to route currency through the PoolManager, under admin-controlled pausing, routing trust and sweep controls; exact trader and LP effects cannot be confirmed without source.

How it works step by step

  • Enables beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap and afterSwap callbacks on a Uniswap v4 pool.
  • Restricts callers to trusted routers and quoters configured by the admin.
  • Enforces global pause and gas-based entry and canonical-path policy checks.
  • Moves currency through the PoolManager using unlock callbacks and take/settle operations.
  • Lets the admin sweep tokens and set a residue recipient for leftover balances.
  • Supports float withdrawals and keeper-managed operations.
Swap behaviour
beforeSwap and afterSwap are enabled; beforeSwap enforces gas policy, pause status and trusted router checks, and afterSwap performs post-swap accounting that may take or settle currency.
Liquidity behaviour
beforeAddLiquidity and beforeRemoveLiquidity are implemented; the presence of a ThirdPartyLiquidityBlocked error suggests liquidity from third parties may be restricted, but this is inferred from selector names only.
Fee behaviour
Fee handling could not be determined from decoded bytecode without source; beforeSwap and afterSwap are present and appear to interact with pool accounting and residue recipient, but exact fee logic is unclear.
Owner & admin controls
Admin address (slot 0) can call setAdmin, setGlobalPaused (pauses hook logic), setTrustedRouter, setTrustedQuoter, setKeeper, setGasPolicy (gas thresholds for entry and canonical paths), setResidueRecipient, and sweep. Owner-level control exists over pausing and routing trust.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap

beforeInitialize: initialization gating (UnauthorizedInitializer error present). beforeAddLiquidity: may restrict third-party liquidity. beforeRemoveLiquidity: liquidity removal checks. beforeSwap: pre-swap checks, gas policy and pause enforcement, router trust checks. afterSwap: post-swap accounting and possible settlement via take or currency movement.

Security & trust assessment

Risk level: high (decoded bytecode, low confidence).

Who controls it: The admin key can pause the hook globally, change which routers and quoters are trusted, assign keepers, change gas policy thresholds, change the residue recipient, and sweep tokens held by the contract. A compromised admin could redirect residual funds or block swaps.

Risk to user funds: The hook can hold and move tokens through take, settle and sweep operations and the residue recipient mechanism. The admin can sweep held balances and pause swaps, so user or pool funds routed through the hook are exposed to admin action.

Security findings

  • [high] Admin sweep of held tokens: The admin can call sweep(address,address), which moves tokens held by the hook. Tokens the hook holds are therefore controllable by the admin key.
  • [medium] Global pause by admin: setGlobalPaused lets the admin halt hook logic, which can block swaps or liquidity actions routed through the hook.
  • [medium] Admin-controlled residue recipient: setResidueRecipient sets the address receiving residual balances, so the admin can redirect residue flows.
  • [info] Hook moves currency via PoolManager: The hook moves currency during swaps and uses unlock callbacks (self-unlock tag), indicating it takes and settles tokens through the PoolManager.
  • [info] Unverified source: Without verified source, the exact behaviour of swaps, fees, and accounting cannot be confirmed from bytecode alone.

Contract details

Verified source
No
Bytecode size
24,367 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, self-unlock

Pools using Hook 0xa735…eac0