AutoBurnHook on Base
Uniswap v4 Hook Contract 0x2588587e21d5df55c80abccd555c3d9b9365e8c8 on Base · Utility · Verified contract
- Volume (24h)
- $2.33
- Value locked (TVL)
- $186
- All-time volume
- $215.00K
- Pools using this hook
- 18
- Swaps (24h)
- 4 (3 traders)
- Total swaps
- 26,544
What it does
A Uniswap v4 hook that takes a fixed percentage fee on each swap in ETH-paired pools and burns the collected tokens by sending them to a dead address.
How it works step by step
- Restricts pools to ETH as currency0 in beforeInitialize.
- Sets a per-pool fee on the first liquidity addition, defaulting to 1% when no hookData is supplied.
- Takes the fee from each swap as a positive BeforeSwapDelta that reduces the amount swapped.
- Claims the fee via manager.take in afterSwap.
- On ETH to token swaps, sends the ETH fee to SwapExecutor which swaps it into tokens and transfers them to the dead address.
- On token to ETH swaps, transfers the fee tokens directly to the dead address.
- Swap behaviour
- beforeSwap skips the hook's own swaps and otherwise reduces the swap amount by the pool fee (default 1%) via BeforeSwapDelta. afterSwap claims the fee with manager.take, then either forwards ETH to SwapExecutor for a second swap and burns the received tokens, or transfers the fee tokens to the dead address directly.
- Liquidity behaviour
- beforeAddLiquidity only sets the per-pool fee on the first liquidity addition; it does not alter or hold liquidity. No remove liquidity callbacks are enabled.
- Fee behaviour
- On each swap the hook takes a fee of amountSpecified times poolHookFees (default 10000 parts per million, i.e. 1%) via a positive BeforeSwapDelta that reduces the amount swapped, then claims that amount with manager.take. The fee is set once per pool at first liquidity addition from hookData, bounded between 0.1% and 90%. Fee is taken in ETH on ETH-to-token swaps and in the output token on token-to-ETH swaps.
- Owner & admin controls
- No admin controls found. The contract has no owner, pause, or upgrade functions; the only setters are poolHookFees, which is written once per pool by whoever first adds liquidity (first-caller sets fee via hookData, range 0.1% to 90%).
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta
beforeInitialize restricts pools to ETH as currency0. beforeAddLiquidity records the per-pool hook fee on first liquidity addition. beforeSwap returns a positive BeforeSwapDelta reducing the swap amount by the fee. afterSwap claims the fee with manager.take, burns tokens or forwards ETH to SwapExecutor for a second swap that burns the received tokens. beforeSwapReturnDelta lets the hook take its fee through the delta.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: No privileged key exists, so no single party can change fees, pause swaps or upgrade the hook after deployment. Risk is concentrated in the design rather than in an admin.
Risk to user funds: The hook takes a fee on every swap, and by design holds ETH and tokens transiently during the swap. It cannot freeze funds because it has no pause or withdrawal path controlled by a key. Users trading on a pool with a high fee bear that fee as reduced swap input.
Security findings
- [info] Fee set by first liquidity provider per pool.:
- [medium] Nested swap and value transfer inside afterSwap.: The afterSwap hook calls swapExecutor.swapETHForTokens, which performs a new swap and burns the output using a transfer to the dead address. This makes the hook depend on a second pool swap inside the first and on ETH balances held by the hook and SwapExecutor.
- [medium] High fee ceiling enables near-total extraction.: The beforeSwap delta can be as high as 90% of the swap amount because the hook fee is only checked at liquidity addition. A pool creator who sets a very high fee can make most of each swap go to the hook.
- [low] Unchecked token transfer and no reentrancy guard.: The hook calls manager.take and then transfers tokens to the dead address without checking the return value of the ERC20 transfer. Tokens that revert or return false on transfer would break swaps for that pool.
- [info] Burn is a transfer to a dead address.: Burns occur through an ERC20 transfer to 0x...dEaD, which is not a true burn for tokens that track total supply. Holders should not assume reduced supply.
Contract details
- Verified source
- Yes (AutoBurnHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 7,471 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using AutoBurnHook
- ETH / FRLZ (0.30% fee) — 24h volume $1.25, TVL $20, 1 swaps today
- ETH / SHIB (0.30% fee) — 24h volume $1.08, TVL $40, 3 swaps today
- ETH / SHIB (0.00% fee) — 24h volume $0, TVL $17, 0 swaps today
- ETH / EDOG (0.50% fee) — 24h volume $0, TVL $89, 0 swaps today
- ETH / SHIB (0.10% fee) — 24h volume $0, TVL $1.03, 0 swaps today
- ETH / SHIB (0.69% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / BPINCH (0.00% fee) — 24h volume $0, TVL $2.48, 0 swaps today
- ETH / SCP709 (2.00% fee) — 24h volume $0, TVL $14, 0 swaps today
- ETH / CMONKEH (2.00% fee) — 24h volume $0, TVL $0.75, 0 swaps today
- ETH / SHIB (0.15% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / BURNCAT (1.00% fee) — 24h volume $0, TVL $0.05, 0 swaps today
- ETH / BVIP (4.00% fee) — 24h volume $0, TVL $0.06, 0 swaps today
- ETH / ETH (2.00% fee) — 24h volume $0, TVL $0.75, 0 swaps today
- ETH / MONKEH (2.00% fee) — 24h volume $0, TVL $0.75, 0 swaps today
- ETH / SHIB (1.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / SHIB (2.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / SHIB (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / MONKEH (2.00% fee) — 24h volume $0, TVL $0, 0 swaps today