Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0xdc48efcc0628a1af9674ca0673e20eb1760e20cc on Robinhood Chain · Launchpad

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

What it does

A launchpad-style hook that skims a portion of swap flow into its own balance, tracks creator and platform fee accruals, and lets designated recipients withdraw them.

How it works step by step

  • Records initialization of each pool in beforeInitialize and stores a flag for it
  • Takes a fee share from swaps via beforeSwapReturnDelta and afterSwapReturnDelta
  • Accrues fees into pendingFees, totalFeesAccrued and vaultBalances
  • Splits accrued fees between platform, community treasury and creator recipients
  • Lets recipients withdraw or withdraw all accrued balances
  • Doubles as an ERC20 token with token metadata and social links stored on-chain
Swap behaviour
beforeSwap and afterSwap run on every swap and use return deltas to take a fee share into the hook's balance, updating fee accounting storage.
Liquidity behaviour
No liquidity callbacks are enabled; beforeAddLiquidity and beforeRemoveLiquidity selectors exist in the ABI but the hook permissions do not include them.
Fee behaviour
Fees are tracked via feeBps, creatorCreditsBps, pendingFees and totalFeesAccrued storage, and split between platform, community treasury and creator recipients on withdraw; the exact fee rate and when it is taken from swaps cannot be fully determined from the bytecode alone.
Owner & admin controls
No owner or pause function is decoded. Creator and launcher are exposed as views, and withdraw/withdrawAll/recipient/platformRecipient/communityTreasury suggest fee-recipient roles, but whether these are privileged setters cannot be confirmed without source. NotLauncher() error indicates some launcher-gated path.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize sets an initialized flag; beforeSwap and afterSwap update fee/accounting state; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take a share of swap amounts into its own balance, which is then withdrawn through withdraw and withdrawAll.

Security & trust assessment

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

Who controls it: Recipient addresses for fee splits and the launcher role may be settable by a privileged key; a compromised key could redirect accrued fees, though this is unverified.

Risk to user funds: The hook holds accrued fee tokens taken through return deltas and can move them via withdraw/withdrawAll to configured recipients; it does not appear to block swaps or hold LP principal, but this is inferred from selectors only.

Security findings

  • [medium] Hook takes a share of swap flow via return deltas: beforeSwapReturnDelta and afterSwapReturnDelta let the hook take tokens from every swap and hold them in vaultBalances and balanceOf, so swap value is partly routed to the hook.
  • [medium] Accrued fees withdrawable by recipient roles: withdraw and withdrawAll move accrued fee balances out of the hook; these are the paths that would be affected by any recipient or launcher key compromise.
  • [info] Unverified source limits assessment: No source is verified, so exact recipient setters, fee bounds and any upgrade mechanism cannot be confirmed from the decoded selectors.
  • [info] Hook is also an ERC20 token: Standard ERC20 selectors (transfer, approve, transferFrom) indicate the hook also issues a token, so holders are exposed to token-level risks.

Contract details

Verified source
No
Bytecode size
9,534 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, return-delta

Pools using Launchpad hook