Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0x4727b12ed609de398a796ce08c07bb3575cfe888 on Robinhood Chain · Launchpad

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

What it does

A bonding-curve style launchpad hook that prices swaps along a curve and takes fixed basis-point fees on buys and sells, routing them to a vault, platform and creators.

This read was written for the hook 0x1852…2888 on Robinhood Chain and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Initializes a curve-based pool in beforeInitialize and records its parameters per pool id
  • Quotes buys and sells on the curve (quoteBuy, quoteSell, curveState)
  • Takes buy-side and sell-side fees in fixed basis points during beforeSwap and returns them as a delta
  • Accrues creator and platform fees per token that can be withdrawn with withdrawCreatorFees
  • Gates liquidity additions through an external gate contract in beforeAddLiquidity
Swap behaviour
beforeSwap computes the curve price and fee split, takes the fee via a custom return delta, and accrues creator and platform shares for later withdrawal.
Liquidity behaviour
beforeAddLiquidity is enabled and beforeRemoveLiquidity exists as a view-style selector, suggesting liquidity additions are gated or checked by the hook (for example via gate() and a poolOf mapping). Removal hooks are not enabled in permissions, so removals are not intercepted by the hook.
Fee behaviour
Fees appear to be split by fixed basis-point constants: buy-side BUY_VAULT_BPS and BUY_PLATFORM_BPS, sell-side SELL_VAULT_KEEP_BPS and SELL_CREATOR_BPS, with fee payees feePayeeA and feePayeeB and accumulated creatorFees(address,address) withdrawable via withdrawCreatorFees. Because beforeSwapReturnDelta is enabled, the hook takes a portion of swap amounts as a custom delta rather than relying only on the pool's static fee.
Owner & admin controls
Owner-gated functions are present (owner() view, and a setter selector 0x37cf09f7 taking address,uint256 that writes a per-address mapping and reads the owner slot). The owner can alter per-address configuration; exact parameter scope cannot be confirmed without source. Fee payee addresses (feePayeeA, feePayeeB) and the gate() address are readable configuration points.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta

beforeInitialize: registers or validates the pool and its curve parameters at creation. beforeAddLiquidity: enforces the liquidity gate before positions are added. beforeSwap: computes the curve-based price and fee split and returns a custom delta so the hook can take its share of the swap. beforeSwapReturnDelta: allows beforeSwap to return a delta that the hook keeps, which is how fee capture is implemented.

Security & trust assessment

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

Who controls it: An owner key can change per-address configuration and redirect fee payee addresses or the gate, which would affect where creator and platform fees flow and who may add liquidity.

Risk to user funds: The hook can hold and withdraw fee balances via creatorFees and withdrawCreatorFees, and its return delta lets it take a share of each swap. It can block liquidity additions through the gate. It does not appear to hold pool principal beyond accrued fees.

Security findings

  • [medium] Hook-enforced swap fee via return delta: The hook takes value from swaps via return deltas on every beforeSwap, so the fee split is enforced on all trades rather than as an opt-in.
  • [medium] Owner-controlled configuration: Owner-gated setter (0x37cf09f7) and owner() view are present; without source the scope of owner changes cannot be confirmed.
  • [low] Liquidity addition gate: The hook includes a gate() address that can restrict liquidity additions, so a privileged gate contract could block LPs from entering.
  • [info] Curve math reverts on extreme inputs: Bytecode includes math library error selectors (ExpOverflow, LnWadUndefined, MulDivFailed, MulWadFailed), indicating a curve computed with exponential and logarithmic math that can revert on extreme inputs.

Contract details

Verified source
No
Bytecode size
15,173 bytes
Upgradeable proxy
No
Detected patterns
return-delta

Pools using Launchpad hook