PremiumLaunchHook on Robinhood Chain
Uniswap v4 Hook Contract 0xfa225fe7b2404f8a361a15fa88ad515032726acc on Robinhood Chain · Launchpad · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $315
- All-time volume
- $0
- Pools using this hook
- 6
- Swaps (24h)
- 4 (4 traders)
- Total swaps
- 12,452
What it does
A Uniswap v4 launch-pool hook that keeps graduation liquidity locked and charges a fixed 1% pair-token fee on swaps, split 70% to the creator and 30% to the platform treasury.
How it works step by step
- Registers launch pools and locks graduation liquidity in a dedicated PremiumLiquidityLocker with no removal path
- Charges a fixed 1% fee on the pair-token side of each swap using beforeSwap and afterSwap return deltas
- Mints collected fees as ERC-6909 claims to FeeEscrow and credits 70% to the creator and 30% to the platform treasury
- Allows permissionless public LP additions while blocking removal of the locked graduation position
- Reverts partial fills so specified-amount swaps must complete fully
- Swap behaviour
- On swaps involving the desk (pair) currency, the hook charges 1% of the specified amount: for exact-input it takes the fee from input, for exact-output it grosses up the pair input. The fee is taken via return deltas, minted to FeeEscrow, and credited to creator and treasury. Partial fills revert.
- Liquidity behaviour
- Public LPs may add liquidity freely (beforeAddLiquidity only checks the pool is registered). Removals are blocked only for the locker's own position: beforeRemoveLiquidity reverts with LiquidityLocked if the sender is the PremiumLiquidityLocker and liquidityDelta is nonzero. The locker holds graduation liquidity seeded from the hook's balances, which cannot be removed; only accrued LP fees can be collected, and those go to the recorded treasury.
- Fee behaviour
- A fixed 1% (100 bps) fee on the pair-token side of every swap on launch pools. The fee is minted to FeeEscrow as ERC-6909 claims via beforeSwap or afterSwap return deltas, then credited 70% to the pool creator and 30% to the platform treasury. Exact-output buys gross up the pair input with ceiling rounding; partial fills revert with PartialFillUnsupported.
- Owner & admin controls
- The hook itself has no owner, pause, or parameter setter; fee constants FEE_BPS=100 and CREATOR_SHARE_BPS=7000 are immutable. The manager address is set once in initialize by the deployer and only the manager can register pools and seed liquidity. FeeEscrow is a separate UUPS upgradeable contract with an owner who can upgrade it immediately (_authorizeUpgrade onlyOwner) and who controls its ledger logic, which affects fee payouts indirectly.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: restricts pool initialization to the manager and checks wiring. beforeAddLiquidity: requires the pool to be registered. beforeRemoveLiquidity: blocks removal of the locked graduation position. beforeSwap: takes the 1% pair fee via a return delta and mints it to FeeEscrow. afterSwap: handles fee accounting on the non-specified side and credits creator and treasury, and enforces full fills. beforeSwapReturnDelta and afterSwapReturnDelta: required so the hook can take fees via deltas.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The hook has no privileged key after wiring, but the FeeEscrow owner can upgrade the escrow implementation immediately without timelock, and could change how credited balances are paid out, potentially redirecting or confiscating accrued creator and treasury fees. The deployer set the manager and escrow in a one-time initialize.
Risk to user funds: The hook itself holds no user funds beyond transient pool accounting and ERC-6909 fee claims in the PoolManager. Pool-side liquidity provided through the locker is locked. Creator and treasury fee balances sit in FeeEscrow, which is upgradeable by its owner, so those accrued fees are exposed to the escrow owner's upgrade authority rather than to the hook directly.
Security findings
- [medium] Upgradeable fee escrow controlled by one owner: FeeEscrow is a UUPS proxy whose owner can upgrade the implementation instantly via _authorizeUpgrade with no timelock, which could alter custody of fees owed to creators and treasuries.
- [info] Hook takes fees via return deltas: Afterswap and beforeswap take the pair-token fee via return deltas and mint it to FeeEscrow; the 1% fee is hardcoded and cannot be changed by any admin.
- [info] Locked graduation liquidity: Graduation liquidity is locked in PremiumLiquidityLocker with no removal path; only fee collection to the recorded treasury is possible, and beforeRemoveLiquidity blocks the locker's position.
- [low] Partial fills revert: Swaps that would partially fill the specified amount revert with PartialFillUnsupported, so trades constrained by a price limit fail instead of executing partially.
Contract details
- Verified source
- Yes (PremiumLaunchHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 16,614 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, return-delta
Pools using PremiumLaunchHook
- pHODO / DOGEHOUSE (0.50% fee) — 24h volume $0, TVL $0, 3 swaps today
- pHODO / KIMCHI (0.50% fee) — 24h volume $0, TVL $0, 1 swaps today
- INU / pWOOF (0.50% fee) — 24h volume $0, TVL $0, 0 swaps today
- DONNIE / PRM (0.50% fee) — 24h volume $0, TVL $315, 0 swaps today
- 3DIP / pHYPD (0.50% fee) — 24h volume $0, TVL $0, 0 swaps today
- pHYPD / PURR (0.50% fee) — 24h volume $0, TVL $0, 0 swaps today