Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0xb68ac5ff11428906eebbfa628d7893fcf384eacc on Robinhood Chain · Launchpad

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

What it does

This launchpad hook taxes trades through the pool and limits early buying during the launch window, so early buyers face snipe protection and buy caps while later trades pay the standard tax, with the tax sent to a tax recipient.

How it works step by step

  • Acts as a token launch hook: tracks a launch timestamp (launchedAt) and a launch window (LAUNCH_WINDOW) during which trading is restricted.
  • Gates swaps in beforeSwap, applying tax and snipe-protection rules (taxBps, snipeBps, SNIPE_T0_BPS, SNIPE_T1_BPS) and buy caps (maxBuy, MAX_BUY_BPS, buyCapActive).
  • Uses beforeSwapReturnDelta and afterSwapReturnDelta to take a trade tax from swaps, accumulating it in the hook and forwarding it to a tax recipient via flushTax.
  • Restricts liquidity: beforeAddLiquidity and beforeRemoveLiquidity are present and liquidityLocked is read, suggesting liquidity can be locked during the launch.
  • Tracks sessions by day (launchDay, sessionDay, status, isOpen, isOpenNow) and a limit end tick (limitEndTick, MAX_LIMIT_SPAN), indicating a scheduled open/close trading schedule.
  • Uses a self-unlock pattern (unlock/unlockCallback via the pool manager) to perform accounting and take() calls during callbacks.
Swap behaviour
Swaps are gated in beforeSwap and taxed via return deltas in beforeSwap/afterSwap; during the early launch window snipe-protection tiers (SNIPE_T0_BPS, SNIPE_T1_BPS) and buy caps (maxBuy, MAX_BUY_BPS) can apply, so early buys pay more or are limited, while later trades pay the standard taxBps.
Liquidity behaviour
beforeAddLiquidity and beforeRemoveLiquidity are enabled and liquidityLocked is read, so liquidity changes can be restricted or blocked depending on the lock state; afterAddLiquidity and afterRemoveLiquidity selectors are present but their behaviour cannot be fully confirmed from bytecode alone.
Fee behaviour
The hook takes a trade tax in basis points (taxBps(bool), TRADE_TAX_BPS) via return deltas rather than only using the pool's static fee; the tax is accumulated and sent to taxRecipient through flushTax.
Owner & admin controls
A launcher address is referenced (launcher(), NotLauncher error, isLaunchAdd check) and flushTax is callable by anyone; the bytecode suggests parameters (tax, snipe, buy cap, window) are set at initialization, but no owner-only setter could be confirmed from decoded selectors.

Enabled Uniswap v4 callbacks

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

beforeInitialize sets up the pool and launch state; beforeAddLiquidity and beforeRemoveLiquidity gate liquidity changes; beforeSwap enforces launch-window gating, snipe protection, buy caps and tax; afterSwap settles tax and post-trade logic; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take the tax from swap amounts.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, medium confidence).

Who controls it: The launcher or tax recipient key could influence launch setup and receive accumulated tax; exact setter functions could not be confirmed from decoded bytecode.

Risk to user funds: The hook can take tax from swap amounts through return deltas and temporarily hold accumulated tax before flushing it; it can also restrict buys and liquidity changes during the launch window.

Security findings

  • [medium] Hook takes tokens via return deltas: beforeSwapReturnDelta and afterSwapReturnDelta are enabled, so the hook can take a portion of each swap as tax, changing the amounts traders receive.
  • [medium] Currency movement and tax recipient: The hook holds accumulated tax and moves it to taxRecipient via flushTax, which is callable without an access check visible in the selector set.
  • [medium] Trading and liquidity can be blocked: beforeSwap and beforeAddLiquidity/beforeRemoveLiquidity can revert based on launch windows, buy caps and liquidityLocked, so swaps or liquidity moves may be blocked during the launch period.
  • [info] Launcher privilege: A launcher address and NotLauncher error indicate a privileged role tied to launch setup; its exact powers could not be confirmed from bytecode.

Contract details

Verified source
No
Bytecode size
9,743 bytes
Upgradeable proxy
No
Detected patterns
launchpad, moves-currency, return-delta, self-unlock, tax

Pools using Launchpad hook