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
- NOTPONS / ROBINHOODS (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- TESTIN / ROBINHOODS (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today