Launchpad hook on Monad
Uniswap v4 Hook Contract 0x59802a0848f3e92cb1438e8326d1922119bc20cc on Monad · Launchpad
- Volume (24h)
- <$0.01
- Value locked (TVL)
- $0.50
- All-time volume
- <$0.01
- Pools using this hook
- 1
- Swaps (24h)
- 1 (1 traders)
- Total swaps
- 1
What it does
This launchpad hook takes a cut of trades into a sweep balance that the owner can redirect and charges a fee the owner can adjust, so buyers and sellers both pay a bit more than a plain pool, with the exact direction per trade not confirmed from the bytecode.
How it works step by step
- Hook is a bonding-curve style launch hook for a token pair with MON, with a launch tick and a floor, and a set of price bands indexed by bandCount.
- Seeding (seed) is payable and sets the seeded flag once, after which the pool is initialized with liquidity through the pool manager unlock flow.
- beforeSwap and afterSwap track the current tick and band state in storage and apply a trading fee that the owner can set via setTradingFee, capped by MAX_TRADING_FEE_BPS.
- afterSwap uses return deltas to take a share of swap output for a sweep mechanism, accumulating sweepable amounts and paying them to sweepRecipient through sweep when the sweep interval and threshold are reached.
- Uses ERC6909 claims and the pool manager take, settle, mint and burn calls to hold and account for the swap-derived amounts inside the PoolManager.
- Swap behaviour
- Swaps run through beforeSwap and afterSwap with return deltas enabled on both sides, so the hook can adjust the swap amounts and skim part of the flow into a sweepable balance; the exact split per direction cannot be confirmed from bytecode alone.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- The hook applies a trading fee set by the owner through setTradingFee (bounded by MAX_TRADING_FEE_BPS) on top of a fixed LP_FEE, with a further sweep share of swap flow (SWEEP_BPS) redirected to sweepRecipient.
- Owner & admin controls
- Owner (Ownable with two-step transfer and renounce) can call setTradingFee, setSweepRecipient, and transferOwnership, which changes the fee and where swept funds are sent; sweep is callable by anyone to move accrued sweepable funds.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize sets up the pool's launch parameters at initialization; beforeSwap gates and prices swaps and reads band state; afterSwap updates band state and accrues the sweep amount; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take a portion of swap amounts.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, medium confidence).
Who controls it: The owner can raise the trading fee within its cap, redirect all future sweep proceeds to a new recipient, and transfer or renounce ownership, so a compromised owner key could extract value from future swaps.
Risk to user funds: The hook holds ERC6909 claims and takes a portion of swap amounts via return deltas, and accrued sweepable funds sit in the pool manager until swept, so user swap flow is partially captured by the hook.
Security findings
- [medium] Owner-set trading fee: setTradingFee(uint16) lets the owner change the trading fee up to MAX_TRADING_FEE_BPS, so trades can be repriced after users commit.
- [medium] Redirectable sweep recipient: setSweepRecipient(address) lets the owner change the address that receives swept swap proceeds.
- [medium] Return-delta fund capture: beforeSwapReturnDelta and afterSwapReturnDelta with moves-currency and take/settle calls let the hook take a share of user swap flows into hook-held or claim balances.
- [low] Permanent sweep state dependence: sweep is permissionless but depends on sweepInterval and sweepThreshold read from storage, so timing of sweeps can be influenced by the owner-set parameters.
Contract details
- Verified source
- No
- Bytecode size
- 15,559 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, launchpad, moves-currency, ownable, return-delta, self-unlock
Pools using Launchpad hook
- MON / TEST9 (1.00% fee) — 24h volume <$0.01, TVL $0.50, 1 swaps today