Fee sharing hook on Base

Uniswap v4 Hook Contract 0xe33a630503c640143126bbf222a82689d49b50c8 on Base · Fee sharing

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 is an upgradeable, owner-governed hook that can adjust or charge swaps through a return delta and manage a collateral-style protocol, but the exact fee and direction of trades that pay more or less could not be determined from the decoded bytecode.

How it works step by step

  • Proxy hook whose implementation exposes a lending/collateral-style protocol surface: collateral balances, bad debt, insurance fund, liquidator incentive, reserve factor and a price feed/TWAP oracle.
  • Uses afterInitialize, beforeSwap, afterSwap and beforeSwapReturnDelta, so it can inspect and alter swap accounting by returning a delta.
  • Contains an emergency pause with a maximum pause duration and an owner-set authorized pool registry.
  • Implements token-level ERC20 allowance and operator logic, and a rewards/fee-sharing path tied to protocol fees and treasury.
  • Calls the pool manager's take and unlock functions and transfers tokens, so it moves currency during swaps.
Swap behaviour
beforeSwap and afterSwap are present and beforeSwap can return a delta, so swaps on authorized pools can be adjusted or charged by the hook; the exact trade-by-trade effect could not be determined from decoded bytecode.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Protocol fees and a fee-sharing path are present (protocolFeeFor, protocolFees, treasury), but the precise fee formula and which trades pay more or less could not be determined from decoded bytecode.
Owner & admin controls
Owner (owner() present) appears able to manage registered currencies, authorized pools, treasury, pause state and parameters such as reserveFactor and liquidatorIncentiveBps; exact setter selectors were not identified in the decoded set.

Enabled Uniswap v4 callbacks

afterInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta

afterInitialize registers or configures a pool at initialization; beforeSwap can gate swaps and return a delta to charge or rebate the trade; afterSwap settles accounting after the swap; beforeSwapReturnDelta lets the hook take or give currency during the swap.

Security & trust assessment

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

Who controls it: A privileged owner can likely pause swaps, change fee and liquidation parameters, set treasury and authorize pools, and upgrade the implementation, which can redirect or extract value from swaps and pool funds.

Risk to user funds: The hook can take or give currency through return deltas and transfers during swaps and can hold collateral and insurance balances, so user and pool funds are exposed to its logic and to upgrades.

Security findings

  • [high] Upgradeable proxy: The hook is a proxy delegating every call to implementation 0xf31b6b68a11becd063358b42708aef239c9cfd3d, so the implementation can be replaced and the behaviour changed without changing the hook address.
  • [high] Return-delta swap control: beforeSwapReturnDelta is enabled and the bytecode moves currency via take and transfer, so the hook can take tokens from swaps on pools it governs.
  • [medium] Owner-controlled pause and parameters: Owner-accessible emergency pause (MAX_PAUSE_DURATION, pauseExpiry) and parameters like reserveFactor and liquidatorIncentiveBps can block swaps or change economics.
  • [medium] Oracle dependency: Pricing relies on priceFeed and getTwapPrice; manipulated or stale prices could affect collateral checks and liquidations.
  • [info] No verified source: Analysis is from decoded bytecode only, so function semantics and access checks are inferred and may be incomplete.

Contract details

Verified source
No
Bytecode size
23,595 bytes
Upgradeable proxy
Yes
Detected patterns
erc20, fee-sharing, moves-currency, oracle, ownable, return-delta, rewards, self-unlock, upgradeable

Pools using Fee sharing hook