Launchpad hook on Ethereum
Uniswap v4 Hook Contract 0x94e5d716583ce74a1c4f69c8abb4c6ace70300cc on Ethereum · Launchpad
- Volume (24h)
- $12.71K
- Value locked (TVL)
- $0.25
- All-time volume
- $12.71K
- Pools using this hook
- 1
- Swaps (24h)
- 122 (54 traders)
- Total swaps
- 122
What it does
This launchpad-style hook attaches swap callbacks with return deltas to a pool, so it can adjust or take part of swap amounts for certain traders, but the exact fee direction and which trades pay more cannot be confirmed from the decoded bytecode.
How it works step by step
- Exposes a large set of launch and pool setup entry points (launch, create, register, initialize, open, start) that take a currency, fee, tick spacing and sqrt price and bootstrap a Uniswap v4 pool
- Implements beforeSwap and afterSwap hooks that can return deltas, so the hook can take or give back part of a swap amount
- Contains staking, deposit, claim, mint and seed style functions alongside a rewards-like tracking flag, suggesting a token sale or reward distribution mechanism
- Uses an unlock and unlockCallback flow with self-unlock, meaning the hook calls back into the pool manager to settle balances
- Maintains a burn tracker (totalBurned, MAX_BURN_FEE_BPS) and per-address exemption mapping that gates behaviour for certain callers
- Swap behaviour
- beforeSwap and afterSwap are both enabled and both can return deltas, so the hook can adjust the amounts a swap settles and move currency during a swap. Whether a given trade pays more or less cannot be determined from the decoded bytecode alone; the exemption and burn-fee logic suggests some addresses are treated differently, but the exact direction and amount are unknown.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity selectors are present as views, but the permission set does not enable them, so no liquidity callbacks are active.
- Fee behaviour
- Fees appear to be tied to a burn mechanism (MAX_BURN_FEE_BPS, totalBurned) and an exemption list, but the mechanism that computes the fee in beforeSwap or afterSwap cannot be fully determined from decoded bytecode. Treat fee handling as partially understood.
- Owner & admin controls
- An owner-style role is implied by the storage layout and by functions such as configure, setup, withdrawToken and the exempt mapping, but the exact privileged operations and whether an upgrade path exists cannot be confirmed from bytecode.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap is used to gate or adjust swaps and may return a delta; afterSwap is used to record post-swap state and may return a delta that moves currency.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: A privileged key could appear able to configure pool parameters, adjust exemptions, and withdraw tokens held by the hook, which would affect user funds if the key is compromised or misused.
Risk to user funds: The hook can hold and move currency through return deltas and a withdrawal function, so funds sent through pools using this hook are exposed to the logic and to privileged withdrawal.
Security findings
- [high] Return deltas let the hook move currency during swaps: beforeSwapReturnDelta and afterSwapReturnDelta are both enabled, so the hook can take or credit tokens on every swap. Users should check the amounts settled against their expectations.
- [high] Privileged withdrawal function present: A withdrawToken(address,address,uint256) selector and a setup/configure family are present, which suggests a privileged caller can move tokens held by the hook.
- [medium] Exemption list can gate swaps: A mapping(address=>bool) read in beforeSwap together with an exempt(address) view suggests certain addresses receive different treatment, which could disadvantage ordinary traders.
- [medium] Self-unlock pattern calls back into the pool manager: The contract uses unlock and unlockCallback to settle balances mid-operation, increasing the surface for reentrancy-style mistakes if state is not carefully ordered.
- [info] Source not verified: No verified source is available, so the analysis relies on decoded selectors and storage reads, which limits how confidently the exact logic can be stated.
Contract details
- Verified source
- No
- Bytecode size
- 21,467 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, erc6909-claims, launchpad, moves-currency, return-delta, rewards, self-unlock
Pools using Launchpad hook
- ETH / CLEAR (1.00% fee) — 24h volume $12.71K, TVL $0.25, 122 swaps today