TaxLaunchHook on Base

Uniswap v4 Hook Contract 0x9c7155d7216454d9d894f792c8b5c564f2c66acc on Base · Launchpad · Verified contract

Volume (24h)
$158.17K
Value locked (TVL)
$23.26K
All-time volume
$4.89M
Pools using this hook
1,349
Swaps (24h)
3,582 (796 traders)
Total swaps
61,883

What it does

A launchpad tax hook that charges a configurable buy and sell fee on each swap, splits it among protocol, creator, dividend and integrator recipients, and permanently locks liquidity.

How it works step by step

  • Gates pool creation so only the factory can initialize pools, with the hook as the only hook.
  • Takes buy and sell taxes on the quote and launched token via beforeSwap and afterSwap return deltas, minted as ERC-6909 claims to FeeEscrow.
  • Splits quote fees into protocol, anti-snipe surcharge, creator, dividend and integrator allocations, with dividends distributed through TaxDividend.
  • Credits launched-token tax to a fixed burn sink address.
  • Blocks all third-party liquidity adds and removes and holds permanently locked single-sided genesis liquidity.
  • Supports a one-shot atomic launch buy via an adapter with strict context checks.
Swap behaviour
On every swap, a tax is taken on the quote currency and the token side is taxed into a burn sink. An anti-snipe surcharge applies shortly after launch, and exact-output swaps are blocked during that window. Swaps on unregistered pools pass through untaxed.
Liquidity behaviour
All third-party addLiquidity and removeLiquidity calls revert (LiquidityLocked). The hook itself seeds single-sided token liquidity in genesis bands that are never removed, so liquidity is permanently locked.
Fee behaviour
Fee is taken on the quote currency via beforeSwap/afterSwap return deltas, minted as ERC-6909 claims to FeeEscrow and split into protocol, anti-snipe surcharge, creator, dividend, and integrator shares; the launched token side is also taxed and credited to a burn sink (0x...dEaD). Buy and sell rates are configured per pool up to 99% total; an anti-snipe surcharge decays linearly over a window after launch and disables exact-output swaps during that window. Protocol share has min and max bounds.
Owner & admin controls
Hook owner-free: no owner or pauser on the hook itself. One-time initialize (deployer-only, set-once) wires factory and feeEscrow. Factory-only functions: registerPool, updateCreatorRights (can change creator and creator fee recipient), setLaunchBuyAdapter, executeLaunchBuy, seedLiquidity. Per-pool tax rates, protocol share, anti-snipe schedule and recipients are frozen at registration; creator rights are updatable by factory. TaxDividend owner (factory) can exclude/unexclude addresses, set dividend receivers and call emergencyWithdraw of any held asset including unpaid reward backing.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: only the factory may initialize pools. beforeAddLiquidity and beforeRemoveLiquidity: revert to lock liquidity. beforeSwap and afterSwap: compute and take the tax fee via return deltas, enforce exact-output and fill restrictions, and handle an atomic launch-buy context. beforeSwapReturnDelta and afterSwapReturnDelta: enable the hook to take fee amounts from swaps.

Security & trust assessment

Risk level: medium (verified source, high confidence).

Who controls it: Factory controls pool registration, creator rights reassignment, launch-buy adapter and seeding. Factory is the TaxDividend owner and can emergency-withdraw dividend backing and exclude holders from dividends. The hook itself has no pause or upgrade path, so trading cannot be halted by an admin key.

Risk to user funds: The hook holds ERC-6909 claims temporarily and routes fee claims to FeeEscrow; it does not custody user principal, and liquidity is locked. Traders pay a configured tax on each swap, and dividend or fee recipients can be changed or drained by factory-controlled dividend functions.

Security findings

  • [medium] Dividend backing can be withdrawn by owner: TaxDividend owner (factory) can call emergencyWithdraw to remove any held reward or token balance, including backing owed to unpaid dividend holders.
  • [low] High configurable tax rates: Swap-time tax is taken via beforeSwap/afterSwap return deltas with up to 99% combined rate; high configured taxes can make trading effectively uneconomic for holders, though bounds are enforced at registration.
  • [low] Creator fee recipient reassignable by factory: Factory can update creator and creator fee recipient for any pool via updateCreatorRights, redirecting future creator fee credits.
  • [info] Liquidity permanently locked: Liquidity is permanently locked and the genesis seed position is never removed, which constrains rug-style liquidity pulls.
  • [info] Fixed burn sink and frozen pool economics: Burn-side tax is credited to a fixed dead-address sink, and the hook has no mutable parameters after registration except creator rights.

Contract details

Verified source
Yes (TaxLaunchHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
21,519 bytes
Upgradeable proxy
No
Detected patterns
erc20, launchpad, mev-protection, return-delta, self-unlock, tax

Pools using TaxLaunchHook