Launchpad hook on Robinhood Chain
Uniswap v4 Hook Contract 0xfd229cd986d584bfd3ec27e7a4e832563c5b20cc 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
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
- ETH / TEST (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today