Likely custom pricing hook on Robinhood Chain

Uniswap v4 Hook Contract 0xb6982dffc2bd6ea117b3fb60167f3efbcc8dc0c8 on Robinhood Chain · Custom pricing

Volume (24h)
$297
Value locked (TVL)
$0.27
All-time volume
$3.38K
Pools using this hook
1
Swaps (24h)
2 (2 traders)
Total swaps
84

What it does

A Uniswap v4 hook that runs custom logic on every swap, tracking per-pool state and escrowed funds and adjusting swap settlement through return deltas.

How it works step by step

  • Runs custom logic in beforeSwap and afterSwap on every pool swap
  • Uses beforeSwapReturnDelta to take or supply currency in place of standard settlement
  • Tracks per-pool EMA, depth liquidity and tick bounds in storage
  • Accumulates escrow, treasury and depth fund balances per pool
  • Opens a self-unlock session with the pool manager to move currency
Swap behaviour
beforeSwap and afterSwap both run on swaps; beforeSwap can return a delta that changes what the trader pays or receives, and afterSwap updates EMA, depth and escrow state.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Not determinable from decoded bytecode; the hook has beforeSwapReturnDelta enabled so it can alter the amounts exchanged, and afterSwap stores EMA and depth state, but the exact fee logic cannot be confirmed without source.
Owner & admin controls
No admin controls found in the dispatch table; no owner, pause or upgrade functions were decoded. Pool and deployment state appear to be keyed by pool id and set during beforeSwap and afterSwap.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, beforeSwapReturnDelta

beforeSwap: runs custom logic before each swap and can return a delta. afterSwap: updates per-pool state (EMA, depth, escrow accounting) after each swap. beforeSwapReturnDelta: lets the hook take or supply currency in place of the pool's normal swap settlement.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, low confidence).

Who controls it: No privileged owner key was decoded, so centralization risk is not evident from the dispatch table; the flagged take and transfer paths and the unlockCallback entrypoint need review to judge who can trigger them.

Risk to user funds: The hook can hold escrowed and treasury balances per pool and move currency through take and transfer during swaps, so user swap amounts can be altered by hook logic; the exact conditions cannot be confirmed without verified source.

Security findings

  • [high] Hook moves currency during swaps: beforeSwapReturnDelta is enabled and the bytecode contains a take(address,address,uint256) call plus a transfer selector, so the hook can move currency during swaps.
  • [medium] Self-unlock pattern: The hook calls unlock(bytes) and implements unlockCallback(bytes), meaning it opens its own pool manager unlock session mid-flow, which is a self-unlock pattern that increases reentrancy and accounting complexity.
  • [medium] Hook holds escrowed funds: Escrow, treasury, depth fund and treasury-paid mappings are tracked per pool, so value is accumulated and disbursed by the hook rather than only passing through.
  • [info] Explicit guard errors present: The contract defines DepthOverspend, SafeCastOverflow and OnlyPoolManager errors, showing guards on depth spending and callback access, which are neutral-to-positive observations.

Contract details

Verified source
No
Bytecode size
11,887 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta, self-unlock

Pools using Likely custom pricing hook