DynamicFeeHookV4 on Robinhood Chain
Uniswap v4 Hook Contract 0x238484beb11de95bbaa29e8243ddfebd72a41000 on Robinhood Chain · Launchpad · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 578
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 122,981
What it does
A launchpad hook that sets a creator-chosen dynamic swap fee (up to 10%) on each migrated pool when it is initialised, leaving the pool otherwise a normal Uniswap v4 pool that any router can trade.
How it works step by step
- Validates that it only implements the afterInitialize hook permission.
- Lets the admin bind a single launchpad address, after which the binding is locked.
- Lets the bound launchpad store a per-pool fee between 1 and 100000 pips before initialisation.
- On pool initialisation (called only by the PoolManager), reads the stored fee and calls updateDynamicLPFee so the pool charges it on every swap.
- Reverts initialisation if no fee was set for the pool.
- Swap behaviour
- No swap callbacks. Swaps pay the fixed dynamic LP fee stored for the pool at initialisation.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Fees are dynamic per pool but set only once: the launchpad calls setPoolFee before initialisation, storing a fee between 1 and 100000 pips (up to 10%). In afterInitialize the hook calls poolManager.updateDynamicLPFee with that stored fee, so every swap in the pool pays it. Fees are not changed after initialisation by this hook and there is no fee sharing or redirect.
- Owner & admin controls
- Admin (immutable, set at deploy) can call bindLaunchpad exactly once to designate the launchpad address; after binding the binding is locked. The admin has no power to change individual pool fees, pause, or upgrade (contract is not a proxy). The launchpad, once bound, alone can set per-pool fees via setPoolFee, capped at MAX_FEE_PIPS (100000 = 10%).
Enabled Uniswap v4 callbacks
afterInitialize
afterInitialize: stamps the creator's configured dynamic LP fee onto the pool at the moment it is initialised.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: The launchpad controls the fee for any pool it initialises, up to 10%, and the admin controls which launchpad is bound. The admin cannot alter pools after binding; neither party can pause trading or move funds through this hook.
Risk to user funds: The hook never holds, moves or takes user or pool tokens and has no return deltas, so it cannot block swaps or liquidity. Users are exposed only to the dynamic fee (up to 10%) set by the launchpad when the pool is created.
Security findings
- [info] One-time launchpad binding: bindLaunchpad can be called only once by the admin and reverts once a launchpad is set, so the launchpad address cannot be swapped later.
- [info] Fee ceiling enforced: Fees are bounded to 1 to 100000 pips (max 10%), so a launchpad cannot set a 100% fee through this hook.
- [low] Stored fee not re-applied: setPoolFee can be called by the launchpad at any time, but afterInitialize only reads the fee at initialisation, so later changes to poolFee do not alter already-initialised pools.
- [info] Initialisation requires preset fee: Pool initialisation reverts with FeeNotSet if the launchpad did not set a fee first, so pools cannot be created through this hook without a fee.
Contract details
- Verified source
- Yes (DynamicFeeHookV4)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 1,487 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, launchpad
Pools using DynamicFeeHookV4
- GP / RSGP (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- COPPERINU / HG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- RSGP / NPC (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- INR / JEET (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- DILDO / DILDO (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- NGN / PRINCE (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- FENT / FLOYD (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- SAR / OILMONEY (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- COPCAT / HG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- WEED / HIGHER (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- FENT / PHARMA (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- CRACK / TYRONE (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- BROKE / LAMBO (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- WOM / RSGP (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- KETVIN / KET (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- METH / PHARMA (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- H2O / PLUMBER (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ENERGY / CL (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- URANUS / GLD (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- POOR / BIGMAC (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today