GomoHookStaticFee on Robinhood Chain

Uniswap v4 Hook Contract 0x09cbc918829d582599f3346cb063869bb4cbeacc on Robinhood Chain · Fee sharing · Verified contract

Volume (24h)
$1.57K
Value locked (TVL)
$853
All-time volume
$42.41K
Pools using this hook
10
Swaps (24h)
24 (18 traders)
Total swaps
755

What it does

A fixed-fee Gomo hook that charges a 1% WETH system fee to a constant recipient on every swap, a launch-set creator fee of up to 9%, and permanently locks the launch liquidity.

How it works step by step

  • Takes a fixed 1% WETH system fee on every swap and routes it to the constant recipient SYSTEM_FEE_RECIPIENT
  • Sets a creator LP fee chosen at launch, capped at 9% (900 bps), via updateDynamicLPFee at initialization
  • Locks the launch liquidity: adds are only allowed during the factory's launch transaction and removals are blocked
  • Auto-collects the locked position's LP fees into the fee locker before each swap
  • Runs an external MEV module during the first 2 minutes after pool creation
  • Reverts any pool initialization not routed through the factory and reverts partial fills on fee-adjusted swaps
Swap behaviour
On each swap the static creator fee is set, pending system fees are paid out, locker fees are claimed, the MEV module runs for up to 2 minutes, and a 1% WETH system fee is taken on the gross WETH side with partial fills reverted.
Liquidity behaviour
Liquidity can only be added during the factory's launch transaction (launching flag open between initializePool and initializeMevModule), after which the launch position is the only liquidity and is locked forever. Liquidity removal is blocked for any non-zero liquidityDelta; zero-liquidity calls used for fee collection are allowed. The locker auto-collects the locked position's LP fees before each swap.
Fee behaviour
A fixed 1% system fee in WETH is taken on every swap and routed to a constant recipient (0xf80A75f31583EbB8951C5eA6DdEDc6fe8E692Fe6) via PoolManager claims that are paid out at the start of the next swap or by anyone calling claimSystemFees(). The LP fee (creator fee, 0 to 9%, capped at 900 bps) is chosen at launch and fixed via updateDynamicLPFee, so total fee is at most 10%.
Owner & admin controls
No admin controls found. The hook has no owner and no admin functions; the system fee recipient is a compile-time constant and the creator fee is set once at pool initialization by the factory.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize reverts any initialization not routed through the factory's initializePool. beforeAddLiquidity restricts adds to the launch window. beforeRemoveLiquidity blocks liquidity removal. beforeSwap sets the static LP fee, pays out pending system fees, triggers the locker fee claim, runs the MEV module for the first 2 minutes, and takes the 1% system fee via a specified-side delta. afterSwap takes the system fee on the unspecified side for the other swap direction and reverts on partial fills. beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take its fee through deltas.

Security & trust assessment

Risk level: low (verified source, high confidence).

Who controls it: No privileged owner or admin key exists in the hook. The factory can initialize pools and the MEV module, and the MEV module can disable itself, but neither can change the system fee, recipient, or remove liquidity. The factory and the MEV module address are set at construction/initialization and are immutable or single-use.

Risk to user funds: The hook takes a fixed 1% WETH fee plus the creator LP fee (up to 9%) from every swap and can pay the launch position's collected fees to the locker. It cannot move user principal out of the pool, cannot remove liquidity, and has no owner key to change fees or recipients. The MEV module can block swaps during the first 2 minutes.

Security findings

  • [medium] External MEV module can affect early swaps: Swaps route through a MEV module for the first 2 minutes after pool creation; the module can block or alter early swaps until it disables itself, and its logic is external to this contract.
  • [info] Return-delta fee capture: The hook uses beforeSwapReturnDelta and afterSwapReturnDelta to take 1% plus any creator fee from trader amounts, and reverts if an exact-input or exact-output swap is partially filled.
  • [info] Permanently locked liquidity: Liquidity removal is permanently disabled, so the launch position cannot be withdrawn; the pool's liquidity is locked by design.
  • [info] Immutable system fee and recipient: The system fee recipient is a hard-coded constant and the system fee cannot be changed, so no privileged party can redirect or raise it.
  • [info] Permissionless fee settlement: Pending system fee claims are paid to the recipient at the start of the next swap or when anyone calls claimSystemFees(), which is permissionless and only moves funds to the constant recipient.

Contract details

Verified source
Yes (GomoHookStaticFee)
Compiler
solc 0.8.28+commit.7893614a
Bytecode size
11,535 bytes
Upgradeable proxy
No
Detected patterns
mev-protection, return-delta

Pools using GomoHookStaticFee