Hook 0x62f9…c088 on Base

Uniswap v4 Hook Contract 0x62f9d524640a687e6e42c30a86a9932bfd61c088 on Base · Other

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 takes a protocol fee on swaps via a before-swap return delta and supports owner-authorized solvers that can execute nonce-protected swaps.

How it works step by step

  • Runs logic before every swap via the beforeSwap callback.
  • Returns a before-swap delta so it can adjust the amounts exchanged and take a protocol fee.
  • Applies a protocol fee in basis points, readable and settable by the owner.
  • Routes collected fees to a treasury address set by the owner.
  • Lets the owner authorize solver addresses, which are checked during swaps.
  • Tracks executed nonces per address to prevent replay of solver-executed orders.
Swap behaviour
beforeSwap checks solver authorization and executed nonces, computes a protocol fee in basis points, and returns a delta that adjusts swap amounts, with the fee routed to the treasury.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
A protocol fee in basis points (slot 2, read by protocolFeeBps and set by setProtocolFeeBps) is applied by the hook through beforeSwap return deltas; fees are routed to the treasury address (slot 1). The exact fee-taking arithmetic could not be confirmed without source.
Owner & admin controls
Owner (storage slot 0) can call setProtocolFeeBps (slot 2), setTreasury (slot 1), setSolverAuthorization (slot 4 mapping of authorized solvers) and a bool-setting function 0x43133ac5 (slot 3, likely a pause or enable flag). Owner is read from slot 0 via owner(). No upgrade mechanism was identified.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap: runs before each swap and computes the swap-specific logic, including a solver-authorized and nonce-checked path (executedNonces mapping). beforeSwapReturnDelta: lets the hook return a delta that adjusts the swap amounts, so it can take or give tokens as part of the swap.

Security & trust assessment

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

Who controls it: The owner can change the protocol fee rate, redirect fee recipient (treasury) and grant or revoke solver authorization. A solver authorized by the owner can influence swaps through the hook. A bool flag in slot 3 set by an owner-only function may be able to disable or alter swap behaviour.

Risk to user funds: Because beforeSwapReturnDelta is enabled, the hook can take a portion of swap amounts as a fee and send it to the treasury, and an owner-controlled or solver-influenced path could alter swap outcomes. The hook does not appear to hold a custodial balance of user funds beyond what it takes in fees, but this could not be fully confirmed without source.

Security findings

  • [medium] Unbounded owner-set protocol fee: Owner can call setProtocolFeeBps with no visible upper bound in the decoded selectors, so the fee could potentially be set very high and extract value from swappers.
  • [medium] Owner-controlled fee recipient: Owner can redirect the treasury address with setTreasury, so all fees taken by the hook go wherever the owner chooses.
  • [medium] Privileged solver role: setSolverAuthorization grants solvers privileged paths in beforeSwap keyed by nonces; a malicious or compromised solver set by the owner could front-run or manipulate swaps.
  • [info] Return delta gives hook control over swap amounts: beforeSwapReturnDelta means the hook can take or credit tokens during swaps, so it can hold or move pool-related value.
  • [info] Unverified source: Source is not verified; behaviour was inferred from selectors, storage layout and permission flags, so the analysis may miss logic.

Contract details

Verified source
No
Bytecode size
6,969 bytes
Upgradeable proxy
No
Detected patterns
return-delta

Pools using Hook 0x62f9…c088