MusepadBondingHook on Robinhood Chain
Uniswap v4 Hook Contract 0xe07d8474b2ad34a053498cc4420ed95ee0614acc on Robinhood Chain · Launchpad · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 1 (1 traders)
- Total swaps
- 1
What it does
Traders buy and sell this token against a bonding curve before graduation, paying a fixed custom fee of 1% to 11% on each trade, and after graduation trades run through the normal pool with the same fee taken in the pair asset.
How it works step by step
- Acts as the hook for a Musepad bonding-curve token launch: before each swap it takes the input from the PoolManager and fills the trade from a virtual constant-product curve (virtualQuoteReserve x virtualTokenReserve) instead of the pool's liquidity
- Pre-graduation the curve is capped by a target raise and a maximum sellable supply (90% of totalSupply), and buys above the remaining cap revert
- Charges a custom fee (customFeeBps, between 1% and 11%) on quote-side flow and splits it between creator, holders, buyback and protocol shares via FeeEscrow and BuybackVault accrual calls
- Graduates once reserve reaches targetRaise: prepareGraduation moves quote and token to the graduation executor, and afterwards the hook returns zero deltas so the native concentrated-liquidity pool takes over
- Post-graduation, afterSwap and beforeSwap collect the Musepad fee in the pair asset via return deltas and route it to the fee escrow and buyback vault
- Creator and protocol withdraw accrued fees through claim functions; holder fees are pushed to a distributor the creator registers once
- Swap behaviour
- Pre-graduation, every exact-input swap is filled by the hook at the bonding-curve price: buys take quote asset less the custom fee, sells return quote asset less the custom fee on the gross output, and the pool's own liquidity is not used. Post-graduation, swaps go through the native pool, but swaps where the pair asset is the specified currency pay the custom fee through beforeSwap, and other swaps pay it through afterSwap in the pair asset.
- Liquidity behaviour
- Before graduation, only the owner (factory) or the position manager during graduation may add liquidity, and removing liquidity reverts. After graduation anyone may add or remove liquidity.
- Fee behaviour
- Fees are a fixed customFeeBps (100 to 1100 bps) set at initialize. Pre-graduation the fee is taken on the quote side of each trade. The split depends on feeMode: Creator mode gives 70% to the creator and the rest to protocol; Holders mode gives 20% creator, 60% holders, rest protocol; BuybackBurn mode gives 35% creator and 35% buyback, rest protocol. Post-graduation shares are 80% creator in Creator mode, and 40% creator and 40% buyback in BuybackBurn mode.
- Owner & admin controls
- The owner is the factory address, which is set at initialize and fixed. The factory is needed to set the fee escrow and buyback vault and is authorized to add initial liquidity. The graduation executor can call prepareGraduation and finalizeGraduation. The creator can set a holder distributor once in Holders mode. The buyback vault can toggle buybackExecuting. No pause function, no parameter-change function, and no upgrade path are visible in the implementation; the proxy's admin is not shown in the input.
Enabled Uniswap v4 callbacks
beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeAddLiquidity restricts liquidity provision during the bonding phase to the factory owner. beforeRemoveLiquidity blocks removal until graduation. beforeSwap runs the bonding curve pre-graduation and collects the fee post-graduation, using beforeSwapReturnDelta to take over the swap. afterSwap sets the graduation-ready flag and collects post-graduation fees, using afterSwapReturnDelta to take a fee from the output.
Security & trust assessment
Risk level: medium (verified source, medium confidence).
Who controls it: The factory owner controls which addresses may add initial liquidity, and a proxy admin, if present, could replace the implementation and therefore the entire trading logic. The creator controls the one-time holder distributor setting and the fee recipient. Neither can directly pause swaps as far as the implementation shows.
Risk to user funds: Users' quote assets are held in the hook's PoolManager balance and in the hook's claim balances during the bonding phase, and the hook can move them to the graduation executor or the buyback vault. Fees are moved to escrow and buyback contracts. The hook does not appear to have an arbitrary withdrawal path for user funds, but its implementation is replaceable through the proxy, so this depends on the proxy admin.
Security findings
- [info] Hook takes swap funds via return deltas: beforeSwap returns a BeforeSwapDelta that replaces the pool's swap and takes the input into the hook's PoolManager balance. Users trade against the bonding curve, not the pool's liquidity, so the curve parameters determine execution.
- [medium] Proxy with mutable implementation: The hook is a proxy delegating to 0x7809f1813e09acd2762d5a262f952fce367dbe59. If the proxy admin can change the implementation, the trading and fee logic could be replaced; the admin and upgrade rights are not visible in the input.
- [low] Fee and split logic is fixed at launch but protocol-controlled: customFeeBps, feeMode and the recipients are set once in initialize, and the owner (factory) and protocolFeeRecipient receive a protocol share of every trade's fee.
- [low] Pre-graduation sale can be blocked by cap: Buys above maxBuyInput revert with CurveInputTooLarge, and buys after the target is reached revert, so a single large buy must be split across transactions.
- [info] Liquidity restrictions: Liquidity cannot be added by anyone other than the factory before graduation and cannot be removed until graduation, so LPs have no exit before graduation.
Contract details
- Verified source
- Yes (MusepadBondingHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 45 bytes
- Upgradeable proxy
- Yes
- Detected patterns
- erc20, fee-sharing, launchpad, liquidity-management, moves-currency, oracle, ownable, return-delta, self-unlock, upgradeable
Pools using MusepadBondingHook
- WETH / TEST (0.00% fee) — 24h volume $0, TVL $0, 1 swaps today