Hook 0x7ba8…7acc on Robinhood Chain

Uniswap v4 Hook Contract 0x7ba869f04067d58852e98a6421d8849f8e897acc on Robinhood Chain · Other

Volume (24h)
$1.32K
Value locked (TVL)
$1.09K
All-time volume
$1.32K
Pools using this hook
1
Swaps (24h)
28 (26 traders)
Total swaps
28

What it does

A Uniswap v4 hook that gates liquidity provision with allowlists and timestamps, applies dynamic fees on swaps, and can take currency through return deltas, with owner-controlled treasury sweeps.

How it works step by step

  • Gates liquidity additions through an allowlist and LP gate flag
  • Records a timestamp for each liquidity position on add, used when removing liquidity
  • Sets and updates a dynamic LP fee during swaps
  • Uses return-delta permissions to take or supply currency during swaps
  • Allows the owner to sweep balances to a treasury address
  • Supports a route registry and liquidity router allowlist
Swap behaviour
beforeSwap and afterSwap run custom logic that updates dynamic fees and can take or supply currency through return deltas.
Liquidity behaviour
beforeAddLiquidity is gated by an allowlist of liquidity addresses and a LP gate flag; beforeRemoveLiquidity and afterAddLiquidity/afterRemoveLiquidity are implemented, and liquidityAddedAt tracks timestamps per position, suggesting a lock or vesting period before removal.
Fee behaviour
Uses dynamic fee logic (updateDynamicLPFee is called and FEE_PIPS is exposed); fee values are not fully decodable without source, so the exact fee schedule is unknown.
Owner & admin controls
Owner (two-step ownership via transferOwnership/acceptOwnership) can set the pass signer, manage allowed liquidity addresses and liquidity routers, toggle trusted forwarders, enable or disable routes, and call openLiquidityForever. renounceOwnership exists but is disabled (RenounceDisabled error). A sweepToTreasury function sends funds to a treasury address. No upgrade proxy pattern was detected.

Enabled Uniswap v4 callbacks

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

beforeInitialize and afterInitialize validate and set up the pool; beforeAddLiquidity and beforeRemoveLiquidity gate liquidity changes and track add times; beforeSwap and afterSwap run swap logic including dynamic fee updates; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take or supply currency during swaps; beforeDonate and afterDonate are present in the selector set.

Security & trust assessment

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

Who controls it: The owner or pass signer can change which liquidity addresses and routers are permitted, toggle trusted forwarders and routes, and sweep funds to the treasury. Owner-controlled allowlists could block LPs or routers, and the treasury sweep could move hook-held balances.

Risk to user funds: The hook uses return-delta permissions and holds balances that can be swept to a treasury by the owner, so it can hold, move and potentially block user or pool funds. Exact exposure cannot be confirmed without source code.

Security findings

  • [high] Return delta controls swap settlement: Return-delta permissions let the hook take or give currency during swaps, so the hook itself can hold or move trader and pool value.
  • [medium] Treasury sweep of hook balances: Owner can call sweepToTreasury to transfer funds held by the hook to a treasury address.
  • [medium] Owner-gated liquidity access: setAllowedLiquidity and setLiquidityRouter let the owner block or allow specific LP and router addresses, which can prevent liquidity addition or routing.
  • [info] Permanent owner key: Ownership is two-step and renounceOwnership is disabled, so the owner key remains a permanent point of control.
  • [info] No verified source: The contract is not verified; function purposes are inferred from selectors and may be incomplete or wrong.

Contract details

Verified source
No
Bytecode size
20,636 bytes
Upgradeable proxy
No
Detected patterns
donates, dynamic-fee, moves-currency, ownable, return-delta

Pools using Hook 0x7ba8…7acc