Dynamic fee hook on Base

Uniswap v4 Hook Contract 0x0a6ba97554a36d42b2f854a85ec8d81ec93680cc on Base · Dynamic fee

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

What it does

Every swap through pools using this hook pays an owner-set percentage tax (cap unverified) that goes to a tax recipient, while LPs can add and withdraw liquidity freely.

This read was written for the hook 0x8ac0…00cc on Robinhood Chain 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, measured in basis points of the trade, in a set tax currency (likely WETH).
  • Collects the tax using swap return deltas and holds it as accrued balances for a tax recipient.
  • The owner can change the tax rate and a tax threshold. Because there is no verified source, the maximum tax rate is unknown.
  • Accrued tax can be withdrawn or claimed through admin or recipient functions, with possible unwrapping of WETH to ETH.
  • Does not touch liquidity adds or removals, so LPs can withdraw freely.
Swap behaviour
On each swap the hook can take a percentage tax from the swap input or output in the tax currency, possibly only above a size threshold. The exact rate is owner-set and its cap is unknown from bytecode.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
A swap tax in basis points, stored as a 24-bit value the owner can update. It is accrued for a tax recipient. Its maximum cannot be confirmed from bytecode and may exceed 10%.
Owner & admin controls
The owner can set the tax rate and the tax threshold, and can transfer or renounce ownership. Other functions, gated by owner or an authorization check, appear to let accrued tax be withdrawn. No cap on the tax rate is verifiable.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeSwap: computes and may charge the tax on the input side; afterSwap: may charge the tax on the output side; beforeSwapReturnDelta and afterSwapReturnDelta: let the hook deduct the tax from swap amounts.

Security & trust assessment

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

Who controls it: A single owner controls the tax rate and threshold and can hand off or renounce ownership. The worst they can do is raise the swap tax to an unverified level on trades.

Risk to user funds: Only swap amounts are exposed: the hook deducts a percentage tax whose maximum is unknown from bytecode. LP principal cannot be locked or drained by this hook.

Security findings

  • [medium] Owner-adjustable swap tax with unknown cap: The owner can change the tax rate used on every swap. The bytecode does not show a verifiable maximum, so traders cannot confirm how high it can go.
  • [info] Tax taken via return deltas: The tax is taken from swap amounts and credited to the hook as claims for the tax recipient, which is standard v4 fee collection.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook cannot block LP withdrawals or charge LPs a fee to withdraw.

Contract details

Verified source
No
Bytecode size
16,817 bytes
Upgradeable proxy
No
Detected patterns
erc20, erc6909-claims, moves-currency, ownable, return-delta, self-unlock

Pools using Dynamic fee hook