Likely custom pricing hook on BNB Chain

Uniswap v4 Hook Contract 0x8b1e37b73a19591a4b78f46c4373d27bef54a0cc on BNB Chain · Access control

Volume (24h)
$13
Value locked (TVL)
$4.27
All-time volume
$13
Pools using this hook
1
Swaps (24h)
11 (3 traders)
Total swaps
11

What it does

A Uniswap v4 hook that tracks per-pool state at initialization and adjusts swap accounting before and after swaps, using return deltas and internal currency settlement, but its precise purpose cannot be confirmed without verified source.

This read was written for the hook 0x6a87…60cc on Robinhood Chain and reused here: the two run the same code.

How it works step by step

  • Records pool metadata and state in beforeInitialize
  • Runs custom checks and computations in beforeSwap, possibly returning a specific-amount delta
  • Runs post-swap bookkeeping in afterSwap, possibly returning an unspecified-amount delta
  • Uses an unlock/unlockCallback flow to take and withdraw currency from the PoolManager
  • Maintains per-pool mappings and accumulators in storage
Swap behaviour
Runs custom logic in beforeSwap and afterSwap, can return deltas that change swap amounts, and settles currency through the PoolManager via an unlock callback.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Fee behaviour cannot be fully determined from decoded selectors; beforeSwap returns a delta and the hook writes per-pool state, suggesting custom fee or accounting logic, but the exact fee computation is not verifiable without source.
Owner & admin controls
No admin controls found in decoded selectors; no owner or pause selector identified, though storage slot 0x14/0x16 mappings are written by b68cc7b4 which may be a configuration or registration function with unclear access control.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: records pool and token metadata during pool initialization (beforeInitialize selector dc98354e reads and writes pool-keyed mappings). beforeSwap: runs custom logic before swaps and can return a specific-amount delta (beforeSwapReturnDelta). afterSwap: runs post-swap bookkeeping and can return an unspecified-amount delta (afterSwapReturnDelta), and writes per-pool state flags and accumulators.

Security & trust assessment

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

Who controls it: Could not determine from decoded bytecode whether a privileged key exists; the unlockCallback and take/withdraw interactions suggest the hook can move pool currency, so any privileged role that controls its configuration could affect user funds.

Risk to user funds: The hook can take and settle tokens through the PoolManager during swaps and can alter swap deltas, so user swap amounts and any balances it holds could be affected by its logic; the exact conditions cannot be confirmed from decoded bytecode alone.

Security findings

  • [medium] Return-delta permissions enabled: The hook has beforeSwapReturnDelta and afterSwapReturnDelta enabled, so it can alter the amounts settled in swaps and take or supply tokens via the PoolManager.
  • [medium] Hook moves currency via self-unlock: The bytecode contains an unlock/unlockCallback flow and calls take and withdraw, meaning the hook moves currency through the PoolManager during swaps.
  • [info] Unverified access control: Without verified source, the access control on the functions that write configuration mappings (selectors b68cc7b4, da887972, 11c8a983) cannot be confirmed.

Contract details

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

Pools using Likely custom pricing hook