Likely custom pricing hook on Base

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

A Uniswap v4 hook that runs custom logic before swaps and liquidity additions, with owner-controlled activation and a fee recipient, interacting with an underlying Uniswap V3 pool.

This read was written for the hook 0x1a09…8888 on Base and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Gates swap execution through an owner-set active flag checked in beforeSwap
  • Runs custom accounting before swaps and can return a delta to modify swap amounts
  • Gates liquidity additions through beforeAddLiquidity
  • Interacts with an underlying Uniswap V3 pool and handles its swap callback
  • Exposes a feeRecipient address and TOTAL_BPS constant, suggesting a basis-point fee split
Swap behaviour
beforeSwap runs on every swap and reads the active flag; beforeSwapReturnDelta means it can alter swap amounts or collect value, and it interacts with a V3 pool via uniswapV3SwapCallback.
Liquidity behaviour
beforeAddLiquidity is enabled and may restrict or gate liquidity additions; afterAddLiquidity and afterRemoveLiquidity selectors are present but their permissions are not enabled, so no liquidity callbacks beyond beforeAddLiquidity are indicated.
Fee behaviour
Hook does not show a clear fee-setting function in the decoded selectors; beforeSwapReturnDelta permission suggests it may take or adjust amounts via return deltas during swaps, and feeRecipient() and TOTAL_BPS() indicate a fee split mechanism that is not fully determinable without source.
Owner & admin controls
Owner (storage slot 0) can transfer ownership via transferOwnership and toggle the hook on or off via setActive(bool); the active flag is read in beforeSwap, so the owner can disable the hook's swap logic. No upgrade mechanism or parameter setters were identified from the decoded selectors.

Enabled Uniswap v4 callbacks

beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta

beforeAddLiquidity: gates or inspects liquidity additions. beforeSwap: runs custom logic on each swap, reading the active flag. beforeSwapReturnDelta: lets the hook return a delta that alters the swap amounts or takes tokens during swaps.

Security & trust assessment

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

Who controls it: The owner can disable the hook via setActive and can transfer ownership to any address, which could redirect fee recipient or other privileged roles controlled by the owner.

Risk to user funds: Because beforeSwapReturnDelta is enabled and the hook interacts with a V3 pool via callbacks, the hook can likely take or reroute token amounts during swaps; the exact amount and destination cannot be determined without source.

Security findings

  • [medium] Return-delta swap accounting: beforeSwapReturnDelta lets the hook alter swap accounting, so the hook can take or redirect part of swap value from traders or the pool.
  • [medium] Owner-controlled switch and ownership transfer: A single owner key controls the active flag that gates beforeSwap logic and can transfer ownership, with no timelock or multisig evident in the bytecode.
  • [low] External V3 pool interaction: Bytecode references a V3 pool and uniswapV3SwapCallback, indicating the hook interacts with an external Uniswap V3 pool and may route or move funds through it.
  • [info] Unverified source: No verified source is available, so exact fee logic, fund flows, and edge cases cannot be confirmed from the decoded functions alone.

Contract details

Verified source
No
Bytecode size
7,125 bytes
Upgradeable proxy
No
Detected patterns
ownable, return-delta

Pools using Likely custom pricing hook