PepesFamily on Robinhood Chain
Uniswap v4 Hook Contract 0x2d7689e48fd71d9a0f225c673d7b8f8a693368cc on Robinhood Chain · Launchpad · Verified contract
- Volume (24h)
- $1.53K
- Value locked (TVL)
- $0
- All-time volume
- $966.76K
- Pools using this hook
- 1
- Swaps (24h)
- 18 (15 traders)
- Total swaps
- 5,285
What it does
A fixed-supply token launchpad hook on Uniswap v4 that locks each token's full supply as single-sided liquidity and charges a 4% fee on every swap, with 3% paid to holders as dividends and 1% sent to the protocol.
How it works step by step
- Deploys a new PadToken ERC20 with a fixed 1B supply and pairs it against ETH or IMD in a Uniswap v4 pool using this contract as the hook.
- Adds the full token supply minus a 1e9 wei buffer as single-sided liquidity from the launch tick to the edge of the curve, then sends the remaining token balance to the dead address.
- Charges a 4% fee on every swap: 1% protocol fee accrues for feeRecipient and 3% accrues for the token's holders.
- Holder fees are flushed to the token contract, which distributes them pro rata to holders via a magnified dividend-per-share accumulator.
- Provides a companion router with buy, sell and launch-with-initial-buy functions that flush holder fees before the buyer receives tokens.
- Disables external pool creation and liquidity addition so only the launch path can create pools and add liquidity.
- Swap behaviour
- On every swap of a launched token the hook charges 4% of the quote amount (computed on whichever side is quote) through beforeSwap or afterSwap return deltas, emits a Trade event, and mints ERC-6909 claims equal to the fee for later flushing and collection.
- Liquidity behaviour
- Liquidity cannot be added by users (beforeAddLiquidity reverts for everyone except the hook itself). At launch the full 1B token supply (minus a 1e9 wei buffer) is added as single-sided liquidity across the rest of the curve, owned by the hook, and the resulting LP tokens are never removed (beforeRemoveLiquidity is disabled and there is no removal path). Remaining token balance is sent to the dead address. Liquidity is locked permanently.
- Fee behaviour
- Every swap of a launched token is charged a fixed 4% of the quote side: 1% protocol fee sent to feeRecipient, 3% holder fee routed to the token contract and distributed pro rata to holders as dividends in the quote asset. LP fee is 0 and all fees are taken by the hook via beforeSwap/afterSwap return deltas and held as ERC-6909 claims until flushed.
- Owner & admin controls
- Owner (two-step transfer via transferOwnership/acceptOwnership) can change feeRecipient (setFeeRecipient) and the launch start tick per quote asset (setStartTick), which only affects future launches. Owner cannot change the 4% fee, cannot pause trading, cannot remove locked liquidity, and the hook has no upgrade path. Anyone can call collectProtocolFees and flush.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: reverts for external callers so only this contract can create pools. beforeAddLiquidity: reverts for external callers so only the launch can add liquidity. beforeSwap: charges the 4% fee on the quote side when quote is the specified currency and stores it transiently for afterSwap. afterSwap: charges the fee when quote is the unspecified currency, emits Trade events, and returns the fee as hook delta. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take the fee from swap amounts.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: The owner cannot touch user funds, pool liquidity or the fee rate. A compromised owner could redirect future protocol fees by setting feeRecipient and could skew the starting market cap of future launches via startTick. Protocol fees for past trades are only redirected if the owner changes feeRecipient before collection.
Risk to user funds: The hook takes a 4% fee on every swap and holds those fees only as PoolManager claims until flushed or collected, then transfers them onward. It cannot block swaps (no pause) and cannot withdraw locked liquidity. Users' tokens and quote are only moved by the pool's standard swap settlement and by the dividend claim path in PadToken.
Security findings
- [info] Fixed, non-adjustable fee: The fee is a hardcoded constant of 4%, and LP_FEE is 0, so the hook is the sole taker of fees and no admin can raise it.
- [info] Liquidity locked permanently: Liquidity is minted to the hook and the LP position is never removed; the owner has no function to withdraw it, so swaps cannot be drained by the owner.
- [medium] Owner can redirect protocol fees: setFeeRecipient can redirect the 1% protocol fee for all pending and future collections; the new recipient is used at collection time, not when the fee was accrued.
- [low] Launch price set by owner: Owner-set startTick applies to future launches only, but an extreme value would set the starting price of new tokens; bounded by tick spacing and max usable tick checks.
- [low] Dividend accounting depends on flush timing: Token holders' dividends depend on the flush being called; trades through this router flush automatically, and PadToken.claim also flushes, so the risk of stuck fees is low, but the quote held in PadToken is only accounted when distribute runs.
Contract details
- Verified source
- Yes (PepesFamily)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 19,272 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, erc20, launchpad, moves-currency, ownable, return-delta, self-unlock
Pools using PepesFamily
- IMD / Pepes (0.00% fee) — 24h volume $1.53K, TVL $0, 18 swaps today