AdvancedFeeHook on Base
Uniswap v4 Hook Contract 0x03d2434d5a9ab7fb46bd3c7956a7c62e0cd46044 on Base · Launchpad · Verified contract
- Volume (24h)
- $22.97K
- Value locked (TVL)
- $45.37K
- All-time volume
- $19.37M
- Pools using this hook
- 261
- Swaps (24h)
- 285 (120 traders)
- Total swaps
- 172,706
What it does
A launchpad fee hook that charges a configurable swap tax on a token pool, splitting it between a platform treasury, token burns, liquidity added back to the pool, and payees chosen by the token's creator.
How it works step by step
- Charges a per-pool swap tax of up to 10%, configured once by the launcher
- Sends up to 1% of the tax to the platform treasury
- Burns part of the creator share via a direct burn or a buyback-and-burn swap
- Adds part of the creator share back to the pool as single-sided liquidity
- Distributes the remaining creator share pro rata to up to 8 configured payees
- Falls back to ERC-6909 claims when a direct payout fails
- Swap behaviour
- On every swap, afterSwap computes a tax (taxBps) on the unspecified-side amount, takes it as a return delta, and distributes it: half to the platform (capped at 1%), the remainder to the creator split.
- Liquidity behaviour
- No liquidity callbacks are implemented; beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity all revert. The hook itself adds single-sided liquidity to its own pool from creator fees (positions in a 10-tick-spacing range adjacent to the current tick), emitting LiquidityAdded.
- Fee behaviour
- On afterSwap, a tax of taxBps (up to 10%, set per pool at configuration) is taken from the unspecified currency of each swap. Half of the tax, capped at 1%, goes to the platform treasury. The rest is the creator share, split into burn (buyback-and-burn or direct burn to 0xdead), single-sided liquidity added to the pool, and the remainder distributed pro rata to configured payees, with any unplaced amount swept to the treasury. Payouts use poolManager.take with a gas cap and fall back to minting ERC-6909 claims if the transfer fails.
- Owner & admin controls
- The launcher (set at construction) is the only address that can configure pools and initialize them; configurePool is callable once per pool. The platform admin can replace the payee list for a configured pool via setPayees, which can redirect creator fee shares. Each payee can transfer their own slot to a new address via transferPayeeSlot. Pool manager, treasury, launcher and platform admin are all immutable; there is no proxy, pause or upgrade mechanism found.
Enabled Uniswap v4 callbacks
beforeInitialize, afterSwap, afterSwapReturnDelta
beforeInitialize restricts pool initialization to the launcher and the pool manager. afterSwap takes the tax from the swap output via a positive return delta, so the hook captures a share of every swap and distributes it. Other callbacks are implemented but revert.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The platform admin can rewrite the payee list of any configured pool at any time, so it can redirect future creator fee shares to any address. The launcher controls which pools get configured and initialized. Neither role can change tax rates or burn/liquidity splits after configuration, and neither can pause swaps.
Risk to user funds: The hook takes a percentage of swap output as a fee and can route it to burn, pool liquidity, payees or the platform treasury. It does not hold user principal. Payouts that fail the direct transfer are minted as ERC-6909 claims to the recipient, so funds stay within the pool manager accounting.
Security findings
- [medium] Admin can rewrite payee list: setPayees lets the platform admin replace all creator payees for a pool at any time, redirecting future creator fee distributions.
- [info] Swap tax on every trade: afterSwap takes up to 10% of every swap via a return delta; the tax is fixed per pool at configuration and cannot be changed afterwards, but traders pay it on every swap.
- [low] Nested pool actions inside afterSwap: Buyback-and-burn and single-sided liquidity injection execute swaps and liquidity modifications inside the afterSwap path, and failed attempts are swallowed by try/catch, so fee accounting can silently degrade.
- [info] No custody of principal: The hook holds no persistent user balances; fee amounts are paid out or minted as ERC-6909 claims within the same transaction, so user principal is not custodied by the hook.
Contract details
- Verified source
- Yes (AdvancedFeeHook)
- Compiler
- solc 0.8.28+commit.7893614a
- Bytecode size
- 11,408 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, launchpad, moves-currency, return-delta, tax
Pools using AdvancedFeeHook
- BSTONK / USDC (0.30% fee) — 24h volume $22.97K, TVL $44.33K, 276 swaps today
- BASEDPOPCAT / USDC (0.30% fee) — 24h volume $0.28, TVL $127, 1 swaps today
- SHIT / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 4 swaps today
- 🟦 / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 4 swaps today
- MEME / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- STONKBROS / BSTONK (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- C50 / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- CLARK / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- PLUMBER / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- RTX5090 / wtNVDA (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- AI / wtNVDA (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- BASEJUICE / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- BASECAT / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- JACKET / wtNVDA (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- AI / NVDAc (0.30% fee) — 24h volume $0, TVL $126, 0 swaps today
- XSTONK / BSTONK (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- STONK / BSTONK (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- BASE / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- COIN / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- GUUGLE / GOOGLc (0.30% fee) — 24h volume $0, TVL $23, 0 swaps today