AdvancedFeeHookV6 on Base
Uniswap v4 Hook Contract 0x7c672f3850afadcb8f83478e0a2a90d109fa6044 on Base · Fee sharing · Verified contract
- Volume (24h)
- $762
- Value locked (TVL)
- $22.75K
- All-time volume
- $431.95K
- Pools using this hook
- 2,857
- Swaps (24h)
- 283 (126 traders)
- Total swaps
- 101,807
What it does
A BaseStonk launchpad fee hook that taxes swaps on newly launched tokens and splits the tax between the platform, token burns, single-sided liquidity, and creator fee-share payees, with an early-launch sniper tax decay.
How it works step by step
- Charges a buy tax and a sell tax per pool, each capped at 10%, with direction determined by which side the token is on.
- Applies a time-decaying sniper buy tax (up to 99%) during a launch window set once by the launcher.
- Sends half the tax (capped at 1%) to the platform treasury and distributes the remainder across creator payees.
- Burns a configurable share of the creator fee to the dead address, buying back and burning when the fee currency is not the token.
- Re-adds a configurable share of the creator fee as single-sided liquidity in a narrow wedge range adjacent to the current price.
- Lets payee slots be transferred or renounced into a token-defined reward tracker, with a floor enforced for renounced shares.
- Swap behaviour
- afterSwap taxes the unspecified-side amount of every swap (except swaps by the launcher) at a buy or sell rate; buys can be taxed at an elevated sniper rate that decays linearly to the base buy rate over the configured window. The tax is taken via the afterSwap return delta and distributed to platform, burn, liquidity and payees.
- Liquidity behaviour
- No standard liquidity callbacks are enabled (add/remove/donate hooks revert). The hook itself adds single-sided liquidity from fee proceeds via poolManager.modifyLiquidity into a 10-tick-spacing wedge adjacent to the current price, and undoes it if the amount owed is negative. Fee-derived LP positions are owned by the hook.
- Fee behaviour
- Each pool has buy and sell tax rates (capped at 10%). On afterSwap, the unspecified-side amount is taxed at the rate; half the rate (capped at 1%) goes to platformTreasury, and the remainder is split by burn (to dead address, or bought back and burned for non-token fee currency), single-sided liquidity re-add into a wedge range, and payee distribution by shareBps. Buy tax can be elevated by a time-decaying sniper rate during a launch window (max 99%, window 10s to 30 min). Sell tax is flat.
- Owner & admin controls
- Launcher-gated: only the launcher can configure pools, configure the sniper window and set sniper exemptions (launcher or platformAdmin can exempt addresses). platformAdmin can replace payee lists via setPayees (subject to renounced-share floor) and is immutable-set at deploy. Payee slot holders can transfer their own slot via transferPayeeSlot and renounce their fee share via renounceFees. No pausing, upgradeability or owner-controlled tax rate changes after pool configuration; tax rates and burn/liquidity splits are fixed per pool at configurePool.
Enabled Uniswap v4 callbacks
beforeInitialize, afterSwap, afterSwapReturnDelta
beforeInitialize: restricts pool initialization to the launcher. afterSwap: takes the tax from swaps, pays platform and creator shares, burns, and adds fee-derived liquidity; it returns a delta so the hook captures the taxed amount as an afterSwap return delta. Other callbacks revert with HookNotImplemented.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: platformAdmin can overwrite any pool's payee list (within the 8-payee cap and BPS sum rule, and without dropping a renounced tracker below its floor), redirecting creator fee shares to any address. The launcher controls pool setup, sniper configuration and exemptions, which can make swaps by exempted addresses pay the buy/sell rate of the pool's choice. Compromise of either key could redirect a launch's fee stream.
Risk to user funds: Traders pay the taxed amount on swaps of configured pools, and the hook takes the tax via the afterSwap return delta. Taxed funds are routed to platform treasury, burn address, and payee addresses, and some are added as single-sided liquidity that the hook owns. The hook does not block swaps or hold a user balance beyond in-flight fees; the main exposure is that the fee splits and payee addresses can be changed by platformAdmin.
Security findings
- [medium] Admin can reroute creator fee payouts: platformAdmin can call setPayees to reassign creator fee shares for any configured pool to arbitrary addresses, subject only to the renounced floor.
- [medium] Very high early buy tax and privileged sniper exemptions: The sniper window lets the buy tax start up to 99% and decay over at most 30 minutes; the launcher sets this once per pool and exemptions can be granted by launcher or platformAdmin.
- [low] Failed payouts become ERC-6909 claims: _payOut falls back to minting ERC-6909 claims to the recipient if poolManager.take reverts, so a payee that cannot receive tokens still gets a claim rather than blocking the swap.
- [info] Try/catch on liquidity and buyback steps: Pool fee takes and liquidity wedge operations run inside afterSwap; failed buybacks and modifyLiquidity calls are caught and skipped rather than reverting the swap, limiting user DOS but leaving a fee path that can silently degrade.
- [info] Renounce path depends on token interface: Fee accounting reads rewardTracker() from the token via staticcall to route renounced shares; this is a token-contract dependency for the renounce path.
Contract details
- Verified source
- Yes (AdvancedFeeHookV6)
- Compiler
- solc 0.8.28+commit.7893614a
- Bytecode size
- 16,640 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, launchpad, mev-protection, moves-currency, return-delta, tax
Pools using AdvancedFeeHookV6
- GME / USDC (0.30% fee) — 24h volume $520, TVL $1.44K, 20 swaps today
- BRICK / USDC (0.30% fee) — 24h volume $153, TVL $3.85K, 12 swaps today
- REBASE / USDC (0.30% fee) — 24h volume $73, TVL $7.67K, 2 swaps today
- VCAT / VVV (0.30% fee) — 24h volume $9.33, TVL $1.48K, 3 swaps today
- FOMOO / WETH (0.30% fee) — 24h volume $5.62, TVL $142, 10 swaps today
- TEN / WETH (0.30% fee) — 24h volume $0.66, TVL $103, 3 swaps today
- ETHANOL / WETH (0.30% fee) — 24h volume $0.05, TVL $1.26, 1 swaps today
- DOLFINO / POD (0.30% fee) — 24h volume $0, TVL $51, 0 swaps today
- BUY / BLUECHIP (0.30% fee) — 24h volume $0, TVL $6.27, 0 swaps today
- TOSHI / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- BM / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- PWAVE / POD (0.30% fee) — 24h volume $0, TVL $4.65, 0 swaps today
- BUY / BLUECHIP (0.30% fee) — 24h volume $0, TVL $1.27, 0 swaps today
- TOSHI / USDC (0.30% fee) — 24h volume $0, TVL $0.16, 0 swaps today
- GREEL / BSTONK (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- AIFI / wtCOIN (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- BLUEOWL / DUOLc (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- DOOGLE / GOOGLc (0.30% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- MERM / POD (0.30% fee) — 24h volume $0, TVL $2.29, 0 swaps today
- BUY / BLUECHIP (0.30% fee) — 24h volume $0, TVL $0.91, 0 swaps today