LpGuardHook on Base

Uniswap v4 Hook Contract 0x07cd1505846bc1a0a7b38065684e7dcbde6f2000 on Base · Access control · Verified contract

Volume (24h)
$429
Value locked (TVL)
$302.31K
All-time volume
$93.93M
Pools using this hook
1
Swaps (24h)
17 (17 traders)
Total swaps
289,650

What it does

Restricts which address is allowed to initialize new Uniswap v4 pools that use this hook, so only the designated launcher can create them.

How it works step by step

  • Enables only the beforeInitialize callback in its hook permissions
  • Compares the sender of pool initialization against the whitelistedLauncher address stored at deployment
  • Reverts with NotWhitelistedLauncher when any other address tries to initialize a pool
  • Returns the beforeInitialize selector to allow authorised launches to proceed
  • Implements no swap, liquidity or donate logic and holds no funds
Swap behaviour
No swap callbacks.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee.
Owner & admin controls
No admin controls found. The whitelisted launcher address is set once in the constructor and there is no setter, owner, pause or upgrade function in the verified source.

Enabled Uniswap v4 callbacks

beforeInitialize

beforeInitialize is enabled and checks that the sender of PoolManager.initialize is the whitelisted launcher, reverting with NotWhitelistedLauncher otherwise.

Security & trust assessment

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

Who controls it: The whitelisted launcher is immutable after deployment, so no privileged key can change it or alter pool behaviour. Its only power is deciding which address may initialize pools that use this hook.

Risk to user funds: The hook holds no funds and returns no balance deltas. It cannot move or block swaps or liquidity. Its only effect is preventing non-whitelisted addresses from creating pools that use it.

Security findings

  • [info] Pool initialization is restricted: Only the whitelisted launcher address can initialize pools bound to this hook, so pool creation is gated to a single contract or EOA.
  • [info] Launcher address is immutable: whitelistedLauncher is set in the constructor with no setter, so the restriction cannot be changed after deployment.
  • [info] No fund custody or delta logic: The hook does not implement any swap, liquidity or donate callbacks and takes no tokens, so it does not hold or move user funds.

Contract details

Verified source
Yes (LpGuardHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
2,871 bytes
Upgradeable proxy
No

Pools using LpGuardHook