StockLaunchEthHook on Ethereum
Uniswap v4 Hook Contract 0xf30496646cbb60e3474eb8f03c58e24a77d520cc on Ethereum · Fee sharing · Verified contract
- Volume (24h)
- $1.04K
- Value locked (TVL)
- $0
- All-time volume
- $2.38K
- Pools using this hook
- 1
- Swaps (24h)
- 6 (2 traders)
- Total swaps
- 12
What it does
Takes a flat platform fee plus a per-pool creator fee on every swap of the launched stock or ETH pair, accruing them as claimable balances for the treasury and pool creator.
How it works step by step
- Accepts pool initialization only from the factory for pools it has registered
- Takes 0.5% platform fee on every swap of the pair asset
- Takes an additional per-pool creator fee set at registration, capped by maxCreatorFeeBps
- Credits fees to pending balances for the treasury and pool creator instead of pushing them
- Handles native ETH pools by receiving ETH from PoolManager and paying out on claim
- Reverts defensively on liquidity and donate callbacks, which are disabled
- Swap behaviour
- On buys (pair asset in) the fee is taken in beforeSwap from the specified amount; on sells (pair asset out) it is taken in afterSwap from the unspecified amount. The launched token itself is never taken.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Charges a fixed 0.5% platform fee (PLATFORM_FEE_BPS=50) plus a per-pool creatorFeeBps (set by the factory, capped by maxCreatorFeeBps, default 50 bps, hard cap 5000 bps) on the pair asset only; the launched token is never taken. Fees are credited as claimable balances to the treasury and the pool fee recipient rather than pushed.
- Owner & admin controls
- Owner (Ownable2Step, two-step transfer) can set the factory address (which alone can register pools), set the treasury address that receives platform fees, raise maxCreatorFeeBps up to a hard cap of 5000 bps (50%), and call rescueExcess to withdraw any token or ETH balance above totalPending. Owner can renounce ownership. Pool fee recipients can transfer their own pool's fee recipient address. No pause function and no proxy/upgrade mechanism found.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: restricts pool initialization to the factory and requires the pool to be registered. beforeSwap: takes the platform and creator fee from the specified pair-asset amount on buys (exact-in) and sells (exact-out) via poolManager.take and returns a matching delta. afterSwap: takes the same fee from the unspecified pair-asset amount on exact-in sells and exact-out buys and returns it as a hook delta. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to claim part of swap amounts as fees.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The owner can change the factory and treasury addresses, raise the creator fee up to 50% for future pool registrations, and rescue any non-pending balance. A compromised owner could redirect platform fees by changing the treasury, or drain surplus balances. The factory can register new pools with arbitrary creator fee rates up to the cap.
Risk to user funds: The hook holds only accrued fee balances owed to the treasury and pool creators, tracked in pending and totalPending, plus any stray surplus. It takes a fee on swaps of the pair asset. It cannot block swaps through a pause, but an owner or factory action could change fee rates for new pools or redirect future platform fees.
Security findings
- [medium] Adjustable creator fee up to 50%: Owner can raise maxCreatorFeeBps to 5000 (50%), and the factory can register pools with creatorFeeBps up to that value, so swaps in new pools could be charged up to 50% plus 0.5% platform fee.
- [medium] Owner can redirect platform fees: setTreasury lets the owner redirect all future platform fee accrual to any address without a timelock.
- [low] Owner rescue of surplus balances: rescueExcess transfers any balance above totalPending to an arbitrary address; excess includes any token sent to the hook, but accrued fees are protected by totalPending accounting.
- [info] Pull-based fee claims: Fee accrual is tracked per currency in pending and totalPending, and claims are pull-based, so a token transfer restriction on the stock cannot revert swaps.
- [info] Swaps cannot be paused: Hook permissions cover beforeSwap/afterSwap with return deltas; swaps depend on the hook and on PoolManager calls only, and no pause or blacklist exists on swaps.
Contract details
- Verified source
- Yes (StockLaunchEthHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 6,269 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, moves-currency, ownable, return-delta
Pools using StockLaunchEthHook
- ETH / IFF (0.00% fee) — 24h volume $1.04K, TVL $0, 6 swaps today