PDAIBurnHook on Ethereum
Uniswap v4 Hook Contract 0xb8a3be1ee585beaff86f68e4d3f8412eedf000cc on Ethereum · Token · Verified contract
- Volume (24h)
- $12
- Value locked (TVL)
- $360
- All-time volume
- $6.27K
- Pools using this hook
- 2
- Swaps (24h)
- 3 (1 traders)
- Total swaps
- 781
What it does
This hook burns 1% of pDAI on every swap that involves pDAI, in either direction, so traders selling or receiving pDAI get 1% less pDAI and WETH is never burned.
How it works step by step
- Hooks the WETH/pDAI pool on Ethereum mainnet and burns 1% of pDAI on every swap in either direction
- beforeSwap burns 1% of the specified-side amount when pDAI is the specified currency, by calling PoolManager.take to the 0x...dEaD address and returning that amount as a before-swap specified delta
- afterSwap burns 1% of the unspecified-side amount when pDAI is the unspecified currency, returning the fee as an after-swap unspecified delta
- WETH is never burned; all token and pool addresses are hardcoded constants with no constructor arguments
- If the take call reverts (for example a token that blocks the dead address), the swap still succeeds and no burn occurs
- Emits FeeBurned for each successful burn
- Swap behaviour
- On every swap that touches pDAI, 1% of the pDAI amount is taken from the swap by the hook and sent to the dead address. If pDAI is the specified side, the burn is deducted in beforeSwap; if it is the unspecified side, it is deducted in afterSwap. Swaps that do not involve pDAI, or where the burn amount is zero or exceeds int128 range, proceed without a burn. Traders who sell pDAI or receive pDAI effectively pay an extra 1% of the pDAI leg; the 1% is burned rather than paid to LPs.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee for the swap itself; the hook adds a separate 1% pDAI burn on each swap via return deltas, which is not paid to LPs or the protocol.
- Owner & admin controls
- No admin controls found. There is no owner, pause, upgrade path or parameter setter; the contract is immutable and only the PoolManager can call the hook functions.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap is used to burn 1% of the specified pDAI amount via PoolManager.take and return it as a specified delta; afterSwap is used to burn 1% of the unspecified pDAI amount via PoolManager.take and return it as an unspecified delta; beforeSwapReturnDelta and afterSwapReturnDelta are required so these take amounts are netted against the swap.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: No privileged key is present. Because the contract is non-upgradeable and has no admin functions, no party can alter fees, pause swaps or redirect burns.
Risk to user funds: The hook takes 1% of pDAI from swaps through PoolManager.take and sends it to the dead address; it does not hold user funds. Swaps can only be affected if pDAI transfers to 0x...dEaD revert, in which case the swap continues with no burn.
Security findings
- [medium] Hook removes 1% of pDAI from every swap: The hook takes 1% of the pDAI leg through return deltas and sends it to 0x...dEaD, so traders receive less pDAI than the pool would otherwise pay. This is a design feature, but it is a permanent, non-optional tax on the token.
- [low] Burn failures are silently ignored: Both hook functions wrap PoolManager.take in try/catch and return a zero delta on failure, so a pDAI transfer that reverts lets the swap succeed without burning; the burn can be skipped without notice.
- [info] Immutable, no admin keys: All addresses are constants and there is no owner, pause or upgrade mechanism, so the hook's behaviour cannot be changed after deployment.
Contract details
- Verified source
- Yes (PDAIBurnHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 2,117 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using PDAIBurnHook
- ETH / DAI (0.30% fee) — 24h volume $12, TVL $360, 3 swaps today
- SRC / USDC (0.90% fee) — 24h volume $0, TVL $0, 0 swaps today