Launchpad hook on Ethereum

Uniswap v4 Hook Contract 0x9844b03dc346029dbc3406a1d56a4d72268ca0c4 on Ethereum · Launchpad

Volume (24h)
$949
Value locked (TVL)
$0
All-time volume
$949
Pools using this hook
1
Swaps (24h)
5 (3 traders)
Total swaps
5

What it does

This is a launchpad-style hook that takes a fee of unverified size from every swap's output and sends it to a vault, and may block swaps while dormant, while LPs can withdraw freely.

How it works step by step

  • Pools using this hook can only be initialized once, by a designated launcher address; later attempts fail.
  • Before each swap the hook checks whether it is active (it can revert with a 'Dormant' error).
  • After each swap it takes a cut of the swap output and sends it to a stored address, likely a vault or fee recipient.
  • It keeps running counters of swap activity, which may track fees collected or volume.
  • It never runs on liquidity adds or removals, so LPs can deposit and withdraw freely.
Swap behaviour
Before a swap the hook may block trading if it is dormant. After the swap it can deduct part of the output and send it to a vault-like address. The exact fee size cannot be read from bytecode, though a fixed DENOMINATOR constant suggests a percentage-based fee.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
A swap fee is taken from the output after the swap and transferred out to a stored vault or recipient. The exact percentage is unknown from bytecode and appears to use a fixed denominator, with no visible setter to change it.
Owner & admin controls
No owner or setter functions were found. Only a launcher address is privileged, and it acts at pool initialization. Configuration appears to be fixed once the pool is created.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, afterSwapReturnDelta

beforeInitialize: only the launcher can create the pool, and only once; beforeSwap: checks the hook is active and may block swaps; afterSwap: updates counters and calculates the fee; afterSwapReturnDelta: deducts the fee from the swap output.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, low confidence).

Who controls it: A launcher address controls pool initialization, and no other admin setters are visible. The fee rate and recipient appear fixed at setup.

Risk to user funds: The hook can take an unknown percentage of each swap's output and send it to a stored recipient. LP principal cannot be locked or taken by this hook.

Security findings

  • [low] Unverified swap fee via return delta: The hook deducts tokens from swap output and sends them out. The rate cannot be confirmed without source code.
  • [low] Swaps can be blocked when dormant: The beforeSwap check can revert with a 'Dormant' error. What triggers dormancy is not visible in the bytecode.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LPs can always withdraw.

Contract details

Verified source
No
Bytecode size
3,724 bytes
Upgradeable proxy
No
Detected patterns
launchpad, liquidity-management, moves-currency, return-delta

Pools using Launchpad hook