Likely launchpad hook on Ethereum
Uniswap v4 Hook Contract 0x306d011c30094d1098bfd43b105b015fb9ab10cc on Ethereum · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
This hook turns swaps into an on-chain game, likely skimming an unverified percentage of swaps into pots that players can later withdraw, while LPs can still add and remove liquidity freely.
How it works step by step
- Runs an on-chain game tied to swaps in the pool, using an external game engine (functions named like play, game, pile, turn timeout, max ply).
- On swaps it can take a slice of the swap amount into a game pile or pot through swap return deltas.
- Tracks amounts owed to players per token, which they can later withdraw.
- Includes a convert function and a custom swap or route entry point that settles through the PoolManager.
- Swap behaviour
- Before and after each swap the hook can change swap amounts through return deltas, likely skimming a percentage (a 'slice') into a game pot and recording player state. The exact percentages and conditions cannot be confirmed from bytecode.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- The hook likely takes a basis-point slice of swaps (constants named SLICE_BPS and OPENING_BPS) into a game pot that winners can withdraw later. The exact rates and caps are unknown without source.
- Owner & admin controls
- No clear owner role found in the decoded functions. A manager, engine and main id are set at deployment or initialization; their exact powers are unknown.
Enabled Uniswap v4 callbacks
afterInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
afterInitialize: sets up game state for the pool; beforeSwap: checks game state and can adjust swap input; afterSwap: records results and credits pots or owed balances; beforeSwapReturnDelta/afterSwapReturnDelta: lets the hook take or add tokens on swaps.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: No explicit admin was identified. Behaviour depends on a fixed manager and engine set at setup, and the contract is not upgradeable.
Risk to user funds: The hook can take part of swappers' tokens into game pots it holds, with an unknown rate. It also holds owed player balances. LP principal cannot be locked or drained.
Security findings
- [medium] Unverified swap-skimming hook: Swap return deltas are enabled and the hook moves currency into game pots, but the size of the cut cannot be verified from bytecode.
- [low] External game engine dependency: Swap results depend on calls to an external engine contract, so engine failures (for example NotLive or NoRoute errors) could cause swaps to revert.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.
Contract details
- Verified source
- No
- Bytecode size
- 21,322 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, return-delta, self-unlock
Pools using Likely launchpad hook
- IMDUEL / IMD (1.25% fee) — 24h volume $0, TVL $0, 0 swaps today