Likely custom pricing hook on Arbitrum

Uniswap v4 Hook Contract 0x00622a4a05ce3a2055d2885334bce423de178088 on Arbitrum · Access control

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

What it does

A Uniswap v4 hook with an unverified source that runs custom logic before swaps, can adjust swap settlement through a return delta, and manages credit and debt through owner-authorized addresses.

How it works step by step

  • Runs custom logic in beforeSwap before each swap
  • Enables a return delta so the hook can change swap settlement amounts
  • Calls take to move currency from the pool manager
  • Exposes claimCredit and settleMyDebtNoSync, gated by an authorization mapping
  • Lets the owner grant or revoke authorization through setAuthorized
  • Dispatches liquidity and donate callbacks whose exact logic is not visible
Swap behaviour
beforeSwap runs before each swap and beforeSwapReturnDelta lets it alter the settled amounts; afterSwap is also dispatched, but the exact adjustment cannot be determined from the bytecode.
Liquidity behaviour
beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are dispatched, but the bytecode does not reveal logic beyond the functions named in the dispatch table, so their behaviour cannot be confirmed.
Fee behaviour
Uses the pool's static fee; no fee setter or fee-sharing selector is decoded.
Owner & admin controls
Owner (selector 0x8da5cb5b) can grant or revoke authorization via setAuthorized(address,bool), which gates the authorized mapping in slot 0; the bytecode shows no pause, upgrade or fee-parameter setters.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap is used to run custom logic before each swap; beforeSwapReturnDelta lets the hook return a delta that changes the amounts settled for the swap; the hook also uses take to move currency and calls settleMyDebtNoSync and claimCredit, which suggest it manages its own balance with the pool manager.

Security & trust assessment

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

Who controls it: The owner can add or remove authorized addresses, which controls who may call claimCredit and settleMyDebtNoSync. Without source, the exact effect of authorization on user funds cannot be confirmed.

Risk to user funds: Because the hook can return a swap delta and move currency through take, it can in principle change amounts settled on swaps and affect pool balances. The actual effect depends on code not visible in the decoded bytecode.

Security findings

  • [medium] Return delta and currency movement: The hook has beforeSwapReturnDelta enabled and its bytecode calls take, so it can alter swap settlement and move currency held by the pool manager.
  • [medium] Authorization-gated credit and debt functions: Storage slot 0 maps addresses to a boolean authorization flag that gates claimCredit and settleMyDebtNoSync, and only the owner can change it through setAuthorized.
  • [info] Unverified source: No verified source is available, so the logic inside beforeSwap, the liquidity hooks and the credit functions can only be inferred from selectors and storage.

Contract details

Verified source
No
Bytecode size
3,407 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, ownable, return-delta

Pools using Likely custom pricing hook