PenguinHook on Robinhood Chain
Uniswap v4 Hook Contract 0x19b4517ded421d738051545e6c5d461ef13460cc on Robinhood Chain · Fee sharing · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $3.03K
- All-time volume
- $92.41K
- Pools using this hook
- 18
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 1,296
What it does
A Uniswap v4 hook for graduated Penguin Pad listings that charges a fixed 1% fee on the ETH/WETH side of every swap and splits it between the token creator and the platform.
How it works step by step
- Only allows pool initialization for listings registered by the graduate contract, with fee 0 and tick spacing 60.
- Takes a fixed 1% fee on the ETH/WETH quote leg of each swap via PoolManager.take.
- Splits the fee 75% to the token creator and 25% to the penguinProtocol address from the listing contract.
- Pushes the creator share immediately, falling back to creatorFeesAccrued if the transfer fails, claimable by the creator.
- Uses return deltas in both beforeSwap and afterSwap so the fee is settled within the swap rather than charged as an LP fee.
- Swap behaviour
- On each swap, if ETH/WETH is the specified or unspecified currency, the hook takes 1% of that quote amount from the PoolManager and splits it 75% to the creator and 25% to the platform. The creator's share is pushed immediately and accrues for later claim if the transfer fails.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Pool swap fee is fixed at 0. The hook takes a fixed 1% (100 bps) of the ETH/WETH quote leg on each swap, split 75% to the creator and 25% to the platform via penguinProtocol. Creator share falls back to an accrued balance if the push transfer fails.
- Owner & admin controls
- No owner or admin functions. Pool registration is restricted to the immutable graduate contract, and fee recipient addresses come from the listing contract's penguinProtocol getter. No pause, upgrade or parameter-change functions were found.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize restricts pool initialization to pools registered by the graduate contract with the correct fee and tick spacing. beforeSwap and afterSwap take the 1% quote-currency fee via PoolManager.take and split it. beforeSwapReturnDelta and afterSwapReturnDelta let the hook claim a share of swap deltas so the fee is paid out of the trader's flow.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: No privileged key controls the hook. Immutable addresses for PoolManager, WETH and graduate are set at deployment. The graduate contract's useNativeEth flag decides whether creator fallback claims are paid in ETH or WETH, and the listing contract's penguinProtocol address receives the platform cut.
Risk to user funds: The hook only takes the fixed 1% quote fee and sends it to the creator and platform addresses. It does not hold user principal or the burned PositionManager NFT, and it cannot change pool liquidity. Funds it holds transiently are forwarded in the same call.
Security findings
- [info] Return-delta fee capture: The hook takes tokens from the PoolManager and returns deltas, so it can change the net amounts a swap settles. Fee size is hardcoded at 1% and cannot be changed by an admin.
- [info] Creator fee fallback accrual: If the creator's ETH/WETH transfer fails, the creator share accrues in creatorFeesAccrued and is only paid out by claimCreatorFees, which is protected by a reentrancy guard.
- [low] Platform recipient set externally: Platform fees are sent to whatever penguinProtocol returns from the listing contract on each swap. Changing that address in the listing contract redirects the 25% cut without any change to this hook.
- [low] Platform payment can block swaps: Swap fee transfers use a low-level ETH call and a try/catch ERC20 transfer. A revert in the platform payment (_pay) would block swaps for that pool.
Contract details
- Verified source
- Yes (PenguinHook)
- Compiler
- solc 0.8.24+commit.e11b9ed9
- Bytecode size
- 4,393 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, moves-currency, return-delta
Pools using PenguinHook
- ETH / $DIFF (0.00% fee) — 24h volume $0, TVL $3.00K, 0 swaps today
- ETH / TEST (0.00% fee) — 24h volume $0, TVL $0.04, 0 swaps today
- ETH / SK8 (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / PARMY (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / FPRE (0.00% fee) — 24h volume $0, TVL $0.07, 0 swaps today
- ETH / FINAL (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / PADDLE (0.00% fee) — 24h volume $0, TVL $0.07, 0 swaps today
- ETH / TRNCHP (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / FINAL (0.00% fee) — 24h volume $0, TVL $0.07, 0 swaps today
- ETH / HELLO2 (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / HELLO (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / P2 (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / FPT (0.00% fee) — 24h volume $0, TVL $0.09, 0 swaps today
- ETH / FINAL (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / NEWW (0.00% fee) — 24h volume $0, TVL $0.07, 0 swaps today
- ETH / HEGEGEGEGEG (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / PINJ (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / HEHEHEH (0.00% fee) — 24h volume $0, TVL $2.49, 0 swaps today