ProgrammableLaunchFeeHook on Robinhood Chain
Uniswap v4 Hook Contract 0x720e649549f7bc2118acba9f4c9ae6fcc7586080 on Robinhood Chain · Launchpad · Verified contract
- Volume (24h)
- $380.24K
- Value locked (TVL)
- $370.78K
- All-time volume
- $22.98M
- Pools using this hook
- 1
- Swaps (24h)
- 670 (367 traders)
- Total swaps
- 45,704
What it does
A launchpad hook for one native-ETH/token Uniswap v4 pool that charges a 30% LP fee for 30 seconds after the first authorized swap, then drops to a 1% fee.
How it works step by step
- Locks the pool to a single canonical native-ETH/token pool with a fixed tick spacing and initial sqrt price
- Allows only the authorized initializer to initialize that pool at the exact preset price
- Starts a one-time 30-second launch-fee window on the first swap, which may only be performed by the authorized initializer
- Sets the LP fee to 30% during the launch window and 1% afterward through a dynamic fee override
- Takes no tokens from swappers and has no owner or upgrade path
- Swap behaviour
- On each swap the hook checks that the pool is the canonical one and is initialized. On the very first swap it requires the sender to be AUTHORIZED_INITIALIZER and records the start timestamp. It then returns the current LP fee (30% during the window, 1% after) with the override flag. No token deltas are taken.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses a dynamic fee with an override flag on every swap. For 30 seconds after the first swap by AUTHORIZED_INITIALIZER, the LP fee is 30% (300000 pips); afterwards it is 1% (10000 pips). Fees accrue to LPs through the pool, not to the hook.
- Owner & admin controls
- No owner or pause controls. The only privileged role is the immutable AUTHORIZED_INITIALIZER, which alone can initialize the canonical pool and perform the first swap that starts the launch-fee window. Fee parameters and the initializer address are immutable constants or constructor-set immutables.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap
beforeInitialize: restricts pool initialization to the authorized initializer, the canonical pool key, and the exact initial sqrt price, then marks the pool initialized. beforeSwap: enforces the canonical pool and initialization, starts the one-time launch-fee window on the first swap, and returns the time-dependent fee override.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: The AUTHORIZED_INITIALIZER address controls the single pool initialization and the first swap that starts the 30% fee window. It cannot change fees, pause trading, upgrade the hook, or move funds. If that key is lost or unavailable, the first swap may never occur and the launch fee never activates, leaving the pool at the permanent 1% fee.
Risk to user funds: The hook does not hold, move, or block pool or user funds. Swaps can revert only if the pool is not the canonical one, not initialized, or the sender is unauthorized on the first swap; ordinary swaps after launch are not blocked.
Security findings
- [info] First swap gated to one address: Only the immutable AUTHORIZED_INITIALIZER can perform the first swap. Any other sender reverts with UnauthorizedFirstSwap, so public trading cannot begin the launch window independently.
- [info] No admin levers or upgradeability: The hook is not upgradeable and has no owner, pause, or fee setter. Fee values and the window duration are compile-time constants.
- [info] No custody of funds: The hook never takes or holds user tokens (zero deltas are returned) and has no return-delta permissions, so it cannot move pool funds.
- [low] High launch fee for short window: The 30% launch fee applies for 30 seconds from the first swap, and the fee-window timestamp is set only once. Users may see a high fee during that window.
Contract details
- Verified source
- Yes (ProgrammableLaunchFeeHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 4,585 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad
Pools using ProgrammableLaunchFeeHook
- ETH / V4 (Dynamic fee) — 24h volume $380.24K, TVL $370.78K, 670 swaps today