Likely launchpad hook on Base
Uniswap v4 Hook Contract 0xf32850c195e059fbbd779282d319708159ba65cf on Base · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 1 (1 traders)
- Total swaps
- 1
What it does
A launch-token hook that taxes swaps (likely at a rate set by the token contract) and charges a fixed liquidity tax on LP deposits and withdrawals, sending the proceeds to a treasury; the exact rates cannot be confirmed from bytecode.
This read was written for the hook 0x6513…a5cf on Avalanche and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.
How it works step by step
- Attached to a pool for a specific launch token, and only a designated initializer address can create pools with it.
- Charges a tax on swaps, probably read from the token contract's current tax rate, plus a fixed LP fee. The proceeds appear to go to a treasury.
- Applies a liquidity tax when LPs add or remove liquidity, taken through liquidity return deltas.
- Holds collected fees as claims in the PoolManager, and a collect function later pays them out (likely to the treasury).
- Appears to coordinate with the token contract, which exposes anti-dump settings and a function that credits the PoolManager.
- Swap behaviour
- On each swap the hook can take part of the input or output through return deltas. This looks like a tax tied to the token's current tax rate plus an LP fee, but exact rates and caps cannot be confirmed from bytecode.
- Liquidity behaviour
- The hook runs after adds and withdrawals and can take part of the amounts as a liquidity tax through return deltas. Because the remove-liquidity callback and its return delta are enabled, the hook could reduce what LPs receive or revert withdrawals; the exact behaviour is unverified.
- Fee behaviour
- A fixed LP fee and a liquidity tax are hard-coded as constants, and a maximum LP fee constant exists, but their values are unknown. A swap tax is likely read from the token contract and may change over time; proceeds appear to go to a treasury.
- Owner & admin controls
- No owner functions are dispatched on the hook itself. However, the tax rate appears to come from the token contract (current tax rate, anti-dump settings), which may be controlled by its own admin with unknown limits.
Enabled Uniswap v4 callbacks
beforeInitialize, afterAddLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta, afterAddLiquidityReturnDelta, afterRemoveLiquidityReturnDelta
beforeInitialize restricts pool creation to the initializer; afterAddLiquidity and afterRemoveLiquidity with return deltas charge a liquidity tax; beforeSwap and afterSwap with return deltas charge swap taxes and fees.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: The hook has no visible owner functions, but the token contract and treasury it depends on may be admin-controlled and could change tax rates within unknown limits.
Risk to user funds: The hook can deduct part of swap amounts and of LP add and remove amounts as taxes; exact percentages are unknown from bytecode. LP withdrawals pass through the hook and are taxed, but no explicit lock was identified.
Security findings
- [medium] Unverified swap tax via return deltas: Swap return deltas are enabled and the tax rate is read from an external token contract. The maximum tax cannot be verified from bytecode.
- [medium] Liquidity tax on withdrawals: The remove-liquidity callback with a return delta lets the hook deduct a liquidity tax from LP withdrawals. Its size is a fixed constant whose value is unknown.
- [info] Fees routed to treasury: Collected fees are held as PoolManager claims and paid out through collect, which appears to target a treasury.
Contract details
- Verified source
- No
- Bytecode size
- 9,948 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, erc6909-claims, moves-currency, return-delta, self-unlock