LaunchTaxHook on Robinhood Chain

Uniswap v4 Hook Contract 0xbb91434507908e1b37d36b46b8106633a3da20cc on Robinhood Chain · Launchpad · Verified contract

Volume (24h)
$10.85K
Value locked (TVL)
$48.08K
All-time volume
$3.09M
Pools using this hook
7
Swaps (24h)
86 (56 traders)
Total swaps
18,554

What it does

A launch-pool tax hook that skims a configurable percentage of quote-currency volume on swaps and routes it to a platform collector, token holders, the creator and a buy-and-burn mechanism.

How it works step by step

  • Restricts pool initialization for launch pairs to the V4LiquidityHelper to prevent front-running of graduation.
  • Taxes buys and sells in the launch quote currency using the system-wide swap tax rate read from SystemConfig.
  • Splits each collected tax between platform, holder distributor, creator and burn accrual based on the token's fee share.
  • Uses beforeSwap and afterSwap return deltas to settle the tax directly against the pool's balance delta.
  • Accrues burn quote and periodically buys and burns the launched token through the graduation pool or a fee burn router with slippage limits.
  • Defers failed holder distributor credits into pending balances that can be flushed later.
Swap behaviour
On buys and sells in launch pools, a tax is taken in the quote currency via beforeSwap or afterSwap depending on swap direction and exact-input or exact-output mode, and routed to the tax collector, holder distributor, creator and burn accrual.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Charges a tax in the launch quote currency on buys (exactInput buys and exactOutput sells are not taxed in beforeSwap but in afterSwap, and vice versa) using swapTaxBps from SystemConfig, returned as a beforeSwap/afterSwap delta. The tax is split between a platform tax collector, a holder tax distributor, the creator (devShare), and a burn accrual; the system share is set per token via systemFeeShareBpsOfToken. Failed distributor credits are deferred into pending balances rather than reverting swaps.
Owner & admin controls
No owner or admin setter found in the hook source; the factory address is set at construction and factory-driven config (tax collector, swap tax bps, fee share, distributor, burn router) is read live from the launch factory and SystemConfig, so whoever controls those contracts can change fees and recipients. Some source files (CreatorFeeAccrual, LaunchTypes, interfaces) were omitted, so admin paths there are not fully verified.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts pool initialization to the V4LiquidityHelper address to block graduation front-running. beforeSwap withholds the tax by returning a specified-currency delta and routing the fee via poolManager.take. afterSwap handles the complementary swap direction tax and returns an unspecified delta. beforeSwapReturnDelta and afterSwapReturnDelta enable those deltas.

Security & trust assessment

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

Who controls it: The privileged party is whoever controls the launch factory and SystemConfig: they can change swapTaxBps, the system fee share, the tax collector, the holder distributor and the burn router, and therefore the tax rate and where fees go for all launches served by this hook. Feeding a high tax rate would apply to existing pools because the rate is read live.

Risk to user funds: The hook takes a configurable percentage of each swap's quote currency through the pool manager and can hold accrued creator, burn and distributor balances until they are paid out or flushed. It can block swaps before trading starts or when amounts exceed limits, but it cannot directly move LP liquidity.

Security findings

  • [medium] Live configuration controls the tax: Tax rate, recipients and burn router are read live from the factory and SystemConfig on every swap, so a change in those contracts immediately alters costs for traders in all launched pools.
  • [medium] Hook settles user funds in the swap path: The hook takes tokens via poolManager.take and returns deltas, so it sits in the swap settlement path and can deduct a percentage from every buy and sell, and it can revert swaps (for example when trading has not started or on large amounts).
  • [low] External calls during fee burn: Burn execution calls external buy-and-burn routers and graduation pool buy functions with user-accrued quote; slippage protection depends on SystemConfig feeBurnMaxSlippageBps and minimum tokens out logic, and a misconfigured router could affect burn proceeds.
  • [low] Deferred distributions can accumulate: Pending distributor and burn balances accumulate when downstream calls fail, relying on flush functions to be called later; funds may remain stuck if flushes are never triggered.
  • [info] Partial source review: Contract is verified on Sourcify and the source for key helper contracts was partly omitted from the review, so some admin and accounting paths could not be fully checked.

Contract details

Verified source
Yes (LaunchTaxHook)
Compiler
solc 0.8.37+commit.f401782d
Bytecode size
17,206 bytes
Upgradeable proxy
No
Detected patterns
launchpad, moves-currency, return-delta, rewards, tax

Pools using LaunchTaxHook