LaunchpadFeeHookV3 on Base

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

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

What it does

A launchpad fee hook that charges a fixed 1% protocol fee plus a per-launch creator fee on quote-asset swaps for instant token launches, forwarding the fees to a splitter that pays treasuries, creators and token holders.

This read was written for the hook 0xf781…20cc 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 1% protocol fee plus a fixed per-launch creator fee (up to 10%) on quote-asset swaps for registered launches
  • Takes fees from the PoolManager via take, or mints ERC-6909 claims when the PoolManager lacks enough of the fee currency
  • Forwards fees to FeeSplitterV2, which splits them between protocol treasuries, the creator, token holders and buyback-and-burn
  • Blocks pool initialization with this hook except from the designated initializer to prevent launch pool griefing
  • Lets anyone call flushFees to convert deferred fee claims into real quote assets
Swap behaviour
On swaps where the quote asset is the specified currency, beforeSwap takes the combined fee and returns it as a hook delta; otherwise afterSwap takes the fee from the quote amount. Non-launch pools pass through unchanged.
Liquidity behaviour
No liquidity callbacks; add and remove liquidity are unaffected by the hook.
Fee behaviour
On each swap where the quote asset is the specified currency, the hook takes a 1% protocol fee plus a fixed per-launch creator fee (buy or sell, capped at 10%) of the quote amount. Fees are forwarded to FeeSplitterV2; if the PoolManager lacks the fee currency at that moment, the fee is minted as ERC-6909 claims and paid later via permissionless flushFees.
Owner & admin controls
LaunchpadFeeHookV3 has no owner, pause or upgrade path; creator fees are fixed per launch at registration and cannot be changed. Only the immutable graduationExecutor can register launches and the immutable initializer can create pools. On FeeSplitterV2 (the fee recipient), the owner can call setPrimaryShareBps and setKeeper, the keeper controls holder distribution and buyback execution, and the owner can redirect any launch's creator via updateCreator; the protocol treasuries can rotate their own addresses.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts pool creation with this hook to the initializer address. beforeSwap and afterSwap take the launch fee in the quote currency (beforeSwap for exact-input quote, afterSwap otherwise) and return a hook delta that reduces the trader's flow by the fee amount. beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take that fee via returned deltas.

Security & trust assessment

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

Who controls it: No privileged key can alter fees or pause swaps on the hook itself. On FeeSplitterV2 the owner can redirect a launch's creator share to any address via updateCreator, and the keeper decides holder payout batches and buyback timing, though payouts are capped by round totals and live balances.

Risk to user funds: The hook can take up to 11% of the quote amount on each eligible swap and books unpaid fees as claims, so traders pay the launch fee directly. It does not hold LP liquidity beyond transient fee settlement and cannot block swaps; FeeSplitterV2 holds pending fees until forwarded or claimed.

Security findings

  • [info] Immutable creator fees: Fee splits are fixed per launch at registration and capped at 10% for the creator, so the owner cannot raise trader costs on the hook.
  • [medium] Hook takes swap funds via return deltas: beforeSwap and afterSwap move the fee currency out of the PoolManager via take or deferral and forward it to FeeSplitterV2, so the hook directly handles user-paid quote funds.
  • [medium] Owner can redirect creator fee income: FeeSplitterV2.updateCreator lets the owner reassign the creator recipient of all future fees and of pending graduation payouts for any launch, which is a privileged redirection of fee income.
  • [low] Keeper-driven holder distribution: Keeper-submitted holder balances are capped by live balances and round totals, and unpaid amounts roll forward, limiting over-distribution risk.
  • [low] Fee deferral depends on PoolManager liquidity and registered quote asset: Deferred fees rely on permissionless flushFees and ERC-6909 claims; if quote asset is missing for ERC-20 launches, registration without a quote asset reverts rather than silently losing fees.

Contract details

Verified source
Yes (LaunchpadFeeHookV3)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
7,073 bytes
Upgradeable proxy
No
Detected patterns
fee-sharing, launchpad, moves-currency, return-delta, self-unlock

Pools using LaunchpadFeeHookV3