Likely custom pricing hook on Base
Uniswap v4 Hook Contract 0x409ef8b7a533248fe47a63348a08c204599dc888 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
- WUTA / SKI (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today