Likely custom pricing hook on Base

Uniswap v4 Hook Contract 0xc4d575af09a5d23df5930ea24df14259b22c8088 on Base · Custom pricing

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

What it does

An unverified, non-upgradeable hook that may deduct a configurable, unconfirmed amount from each swap before it executes, while leaving LP deposits and withdrawals untouched.

How it works step by step

  • Runs logic before every swap and can change the swap amounts using a return delta.
  • Calls the PoolManager's take function during swaps, meaning it can pull tokens out of the swap flow to a recipient.
  • Stores two configurable numbers set through an unnamed function (0x3b991b13), likely parameters such as a fee rate or limit.
  • Tracks running counters updated on each swap, readable through a view function (0x854fcde6).
  • Never touches liquidity adds or withdrawals.
Swap behaviour
Before each swap the hook reads its stored parameters and can deduct part of the swap amount via a return delta, taking those tokens from the PoolManager. The exact deduction size and the recipient cannot be confirmed from bytecode alone.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
Likely charges a hook-level fee or deduction on swaps based on stored parameters; the exact percentage and any cap are unknown from the bytecode.
Owner & admin controls
A function writes two stored parameters that drive swap behaviour; whether it is access-restricted, and what limits apply, cannot be verified from bytecode.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap: runs custom logic and updates counters before each swap; beforeSwapReturnDelta: lets the hook alter swap amounts and take tokens from the swap.

Security & trust assessment

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

Who controls it: Whoever can call the parameter-setting function can change how the hook treats swaps; the caller restriction and limits are not visible in bytecode.

Risk to user funds: The hook can deduct an unknown portion of swap amounts from traders; LP principal in the PoolManager cannot be locked or drained by this hook.

Security findings

  • [medium] Swap deduction with unverified bounds: The hook can take tokens from swaps through a return delta, sized by stored parameters whose maximum cannot be confirmed without source.
  • [low] Settable parameters: One function changes the two parameters used in swaps; its access control and value limits are unknown.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.

Contract details

Verified source
No
Bytecode size
1,435 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta

Pools using Likely custom pricing hook