Launchpad hook on Ethereum
Uniswap v4 Hook Contract 0x2778f7ec64325a66042ab97a32b860aa4aa620cc on Ethereum · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 3 (2 traders)
- Total swaps
- 3
What it does
A launch-tax hook where every swap pays a tax that starts high and decays to a lower base rate after trading begins, with the tax taken from swaps likely for the creator, while LPs can always withdraw freely.
This read was written for the hook 0xecc3…a0cc on Robinhood Chain 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
- Charges a launch-style tax on swaps for a single token/quote pool, starting at a higher rate and decaying toward a lower base rate over time.
- Trading is enabled through a one-time start function; it cannot be restarted once started.
- Collects the tax from swap amounts and sends it out of the pool, most likely to the token creator.
- Only allows the pool it was set up for to be initialized, with a fixed LP fee and tick spacing.
- Rejects partial fills, so swaps must execute fully.
- Swap behaviour
- Each swap pays a tax taken from the swap amounts, starting at a start tax rate and moving toward a base tax rate since trading began; before trading is started, swaps are likely blocked. Swaps that would only partially fill revert.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- On top of the pool's fixed LP fee, a time-based tax (start rate decaying to a base rate, both hard-coded constants whose exact values are not readable from the decoded bytecode) is deducted from swaps and taken out of the pool, likely to the creator. Exact percentages are unknown without verified source.
- Owner & admin controls
- The only admin-like action is a one-time startTrading call that starts the tax clock; tax rates, token, and creator appear to be fixed constants with no setters.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize restricts setup to the intended pool and records initialization; beforeSwap applies the tax and may block swaps before trading starts; afterSwap checks or takes the tax on output; beforeSwapReturnDelta and afterSwapReturnDelta let the hook deduct the tax from swap amounts.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: A privileged caller (likely the creator) can start trading once; no functions to change tax rates, recipients, or pause after start were found.
Risk to user funds: The hook can deduct a tax from traders' swap amounts at an unverified rate that decays over time; LP principal cannot be locked or drained by the hook.
Security findings
- [medium] Unverified swap tax via return deltas: The hook deducts a tax from swaps using return deltas and pulls tokens from the pool manager; the start and base tax rates are constants whose exact values cannot be confirmed from bytecode.
- [low] Trading gated until started: Swaps likely cannot occur until startTrading is called, which can only be done once.
- [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
- 4,432 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta