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
- WETH / USDC (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today