Likely custom pricing hook on Base

Uniswap v4 Hook Contract 0x3ba93bc5a30edf202d60c565c1a194fdbac04088 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

This hook runs custom logic on every swap and can alter swap amounts and take pool tokens, but the exact effect on which trades pay more or less cannot be determined from the decoded bytecode alone.

How it works step by step

  • Implements beforeSwap, which runs before every swap on pools that use this hook
  • Has beforeSwapReturnDelta enabled, so it can return a delta that changes the amounts the pool settles for the swap
  • Calls take(currency0, currency1, amount) on the PoolManager, which moves tokens out of the pool's accounts to the hook
  • Stores four uint256 values in slots 0 to 3, written in beforeSwap and read by the view function at selector 0x748ac460
  • The bytecode is small (1049 bytes) and the view function has no decoded name, so its purpose is not confirmed
Swap behaviour
beforeSwap runs on each swap, reads and updates its storage slots, and can return a delta that changes swap amounts; it also calls take to move currency out of the pool, so the exact pricing effect cannot be determined from the decoded bytecode alone.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee.
Owner & admin controls
No admin controls found.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap is used to run custom logic and set a return delta on each swap; beforeSwapReturnDelta lets that delta alter the amounts the pool settles.

Security & trust assessment

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

Who controls it: No owner or admin functions were decoded, so no privileged key was identified in the bytecode; the risk is limited to whatever logic the unverified code applies.

Risk to user funds: The hook can take currency out of the pool through take and change swap settlement through the return delta, so pool and LP funds are exposed to whatever logic it applies.

Security findings

  • [high] Return delta with currency movement: beforeSwapReturnDelta is enabled and the bytecode calls take on the PoolManager, so the hook can alter swap settlement and move pool currency to itself on swaps.
  • [medium] Unverified source: No verified source is available, so the exact pricing and fee logic cannot be audited and the decoded functions are the only evidence.
  • [low] Writable state on every swap: beforeSwap writes four storage slots on each swap, which means swap behaviour depends on stored state that is not explained by the input.

Contract details

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

Pools using Likely custom pricing hook