PupateHook on Ethereum

Uniswap v4 Hook Contract 0xb5e544166144a590e171bf0350e8f227858318cc on Ethereum · Launchpad · Verified contract

Volume (24h)
$72
Value locked (TVL)
$1.74K
All-time volume
$18.20K
Pools using this hook
1
Swaps (24h)
2 (2 traders)
Total swaps
137

What it does

This launchpad hook taxes the ETH side of launch-pool trades: early buyers pay up to 99%, falling 1 point per minute to a 6% standing tax that also applies to sells and can only be lowered, with all tax sent to a fixed sink and LPs free to withdraw at any time.

How it works step by step

  • Taxes the ETH side of every buy and sell in one launch pool (the first ETH pool created on this hook).
  • Buy tax starts at 99% when the pool opens and falls by 1 percentage point per minute until it reaches the standing tax, which starts at 6% (about 93 to 99 minutes).
  • Sell tax is the standing tax, initially 6%, and the owner can only lower it, never raise it.
  • Liquidity can only be added in the same transaction that opens the launch pool. After that nobody can add liquidity, but removing it is never blocked.
  • Collected tax is held as ETH claims on the PoolManager, and anyone can flush it as ETH to a fixed sink contract. Swaps made by the sink itself are not taxed.
Swap behaviour
On the launch pool, each swap pays a tax on its ETH amount. Buys pay a launch tax that starts at 99% and decays 1 point per minute to the standing rate (6% at deploy), sells pay the standing rate, and exact-ETH swaps that only partially fill revert.
Liquidity behaviour
Adding liquidity is allowed only into the launch pool, and only during the transaction that initializes it. Every later add reverts. Removal callbacks are disabled, so LPs can always withdraw freely.
Fee behaviour
The tax on the ETH side starts at 99% for buys at launch and falls 1 percentage point per minute to the standing tax. The standing tax is 6% for both buys and sells after decay, can only be lowered by the owner, and all of it is sent to an immutable sink address.
Owner & admin controls
The owner can only lower the standing tax (starting at 6%) and transfer ownership. The owner cannot raise the tax, change the sink, or touch funds.

Enabled Uniswap v4 callbacks

afterInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

afterInitialize records the launch pool and opening time; beforeAddLiquidity blocks liquidity adds outside the opening transaction; beforeSwap computes the tax when the trader names the ETH amount; afterSwap collects the tax as ETH claims and checks for full fills; the return-delta flags let the hook take the tax out of swap amounts.

Security & trust assessment

Risk level: high (verified source, high confidence).

Who controls it: The owner can only lower the standing tax and transfer ownership. The worst they can do is nothing harmful, since the tax cannot be raised and the sink cannot be changed.

Risk to user funds: The hook takes the tax from the ETH side of each swap: up to 99% on buys at launch, decaying to 6% or lower, and at most 6% on sells. LP principal cannot be locked or drained.

Security findings

  • [high] Very high launch buy tax: Buys right after launch are taxed up to 99% of the ETH paid, falling 1 point per minute to the standing rate. This is a confiscatory rate for early buyers, though it is hard-coded, decays, and is publicly visible.
  • [info] Standing tax can only go down: The standing tax starts at 6% and the owner can only lower it. Sells are never taxed above it.
  • [info] Liquidity adds closed after launch: Only the opening transaction can add liquidity. Withdrawals are never gated.
  • [info] Tax goes to a fixed sink: Collected ETH can only be flushed to an immutable sink address. No admin withdrawal path exists.

Contract details

Verified source
Yes (PupateHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
6,075 bytes
Upgradeable proxy
No
Detected patterns
erc6909-claims, launchpad, moves-currency, ownable, return-delta, self-unlock, tax

Pools using PupateHook