Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0x40108ea0927e68643365df0cf6990f40cffa20cc on Robinhood Chain · Launchpad

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

What it does

This launchpad hook takes a fee from swaps through return deltas and splits the accrued fees between a platform recipient, a community treasury and the creator, so traders pay the hook fee on every swap while liquidity providers are not charged by it.

How it works step by step

  • Acts as a Uniswap v4 hook that also functions as an ERC20-style token contract with name, symbol, decimals, totalSupply and balance/allowance mappings, and exposes creator, launcher and metadata getters (name, image, description, socials).
  • Initializes on beforeInitialize, setting a one-time initialized flag and recording the pool being launched.
  • Takes a fee from swaps via beforeSwapReturnDelta and afterSwapReturnDelta, accruing fees tracked in storage (pendingFees, totalFeesAccrued, feeBps, creatorCreditsBps).
  • Splits accrued fees between platform recipient, community treasury and creator, with withdraw and withdrawAll functions that move funds out by recipient index.
  • Tracks vault balances and total withdrawn amounts in storage slots, and gates liquidity add/remove and donate callbacks, which are present as selectors but not enabled as hook permissions.
  • Calls take() on the pool manager to pull tokens out of the pool during fee settlement, and restricts some operations to the launcher address (NotLauncher error).
Swap behaviour
On each swap the beforeSwap and afterSwap callbacks run and can return a delta, so the hook takes a fee from the swap amount in the form of currency it settles with the pool manager; the exact fee rate is governed by feeBps and creator credit settings read from storage, and it is not clear from bytecode alone whether buys and sells are charged differently.
Liquidity behaviour
Liquidity add and remove callbacks exist in the bytecode (beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity) but are not enabled in the hook permissions, so they are not invoked by the pool manager; no liquidity callbacks run.
Fee behaviour
Fees are taken through return deltas on swaps, accrued into pendingFees and totalFeesAccrued, and split by feeBps and creatorCreditsBps between platform recipient, community treasury and creator; the pool itself uses its static fee in addition.
Owner & admin controls
Withdrawal and recipient-related functions exist and some paths are restricted to the launcher; exact owner or upgrade controls cannot be confirmed from decoded bytecode, and no pause function was identified.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize records launch state; beforeSwap and afterSwap take fees and apply return deltas to settle them; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to alter swap amounts.

Security & trust assessment

Risk level: high, estimated (decoded bytecode, low confidence).

Who controls it: The launcher and any privileged recipient or creator keys can direct withdrawals and fee splits; a compromised key could redirect accrued fees.

Risk to user funds: The hook holds accrued fee balances and takes currency from swaps via return deltas, so traders pay the hook fee on swaps and LP funds are not directly moved because liquidity callbacks are disabled.

Security findings

  • [medium] Return deltas on swaps: beforeSwapReturnDelta and afterSwapReturnDelta let the hook alter swap amounts and take currency from the pool, so swap economics depend entirely on the hook's fee logic.
  • [medium] Withdrawal functions: withdraw(uint8,uint256) and withdrawAll() move accrued funds out of the contract by recipient index; correctness of recipient mapping cannot be verified without source.
  • [info] Launcher-gated paths: A NotLauncher error and launcher() getter indicate that a privileged launcher address controls some operations.
  • [info] No verified source: Without verified source, parameter changes, upgrade paths and owner privileges cannot be fully ruled out.

Contract details

Verified source
No
Bytecode size
9,928 bytes
Upgradeable proxy
No
Detected patterns
erc20, launchpad, liquidity-management, moves-currency, return-delta

Pools using Launchpad hook