Fee sharing hook on Base

Uniswap v4 Hook Contract 0x2582ab7eeee60888339acb543fbc1ee07d5328c4 on Base · Fee sharing

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$0
Pools using this hook
1
Swaps (24h)
66 (29 traders)
Total swaps
66

What it does

Taxes swaps at an owner-set rate, with whitelisted addresses exempt, and collects the tax for the owner, while an allowlist can gate trading and adding liquidity but LPs can always withdraw.

This read was written for the hook 0x2835…a8c4 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

  • Charges a tax on swaps in the pool, taken from the swap amount and held as Uniswap v4 claim tokens credited to the hook.
  • Lets the owner set the tax rate, a threshold for when accrued tax is processed, and a whitelist of addresses exempt from the tax.
  • Can consult an external allowlist contract to decide who may trade or add liquidity.
  • Restricts pool creation to the intended token and WETH pair, and does not support exact-output sells.
  • Accrued tax can be withdrawn by the owner to a chosen recipient, possibly unwrapped from WETH.
Swap behaviour
Each swap pays a tax, deducted from the swap amounts after the trade unless the trader is whitelisted, and swaps may be checked against an external allowlist. Exact-output sells revert.
Liquidity behaviour
Adding liquidity runs a check that may restrict who can add, such as through the position manager or allowlist. Remove-liquidity callbacks are disabled, so LPs can always withdraw freely.
Fee behaviour
A tax rate stored in basis points is taken from swaps and accrued to the hook for the owner to withdraw. The owner can change it, and the maximum cap could not be confirmed from bytecode.
Owner & admin controls
The owner can set the tax rate, the tax threshold, whitelist exemptions, and the allowlist contract, and can withdraw accrued tax. No cap on the tax rate was verifiable from bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta

beforeInitialize: validates the pool setup; beforeAddLiquidity: gates who can add liquidity; beforeSwap: applies allowlist checks and rejects unsupported swaps; afterSwap: computes the tax and checks the whitelist; afterSwapReturnDelta: deducts the tax from the swap amounts.

Security & trust assessment

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

Who controls it: A single owner controls the tax rate, the exemptions, and the allowlist, and can withdraw accrued tax. At worst they could raise the tax or block traders through the allowlist.

Risk to user funds: The hook can deduct a tax from swap amounts at an owner-set rate whose maximum is unknown. LP principal cannot be locked or drained by the hook.

Security findings

  • [medium] Adjustable swap tax: The owner can change the tax rate, which is stored in basis points. An upper bound could not be confirmed from unverified bytecode.
  • [medium] Trader gating: An owner-set external allowlist and a whitelist control who can trade tax-free or trade at all.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LP principal cannot be locked by this hook.

Contract details

Verified source
No
Bytecode size
8,490 bytes
Upgradeable proxy
No
Detected patterns
access-control, erc6909-claims, moves-currency, ownable, return-delta, self-unlock

Pools using Fee sharing hook