FewETHHook on Ethereum
Uniswap v4 Hook Contract 0x8c3aae3bb65c5e08d25d9723e8b2e91f0ae22888 on Ethereum · Custom pricing · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 492
What it does
A 1:1 ETH to fwWETH wrapper implemented as a Uniswap v4 pool hook, so swapping between ETH and fwWETH converts at par without AMM pricing.
How it works step by step
- Validates in beforeInitialize that the pool pairs ETH with fwWETH and uses a zero fee tier.
- Allows liquidity additions through beforeAddLiquidity without custom logic.
- On each swap, takes the input token from the pool manager into the hook.
- Converts ETH to WETH to fwWETH on wrap, or fwWETH to WETH to ETH on unwrap, at 1:1.
- Settles the output token back to the pool manager and returns a before-swap delta that overrides AMM pricing.
- Swap behaviour
- Each swap is a 1:1 conversion. On wrap, the hook takes ETH, deposits it into WETH, wraps it to fwWETH and settles fwWETH to the pool manager. On unwrap, the reverse happens. The hook returns a before-swap delta so the pool's curve math is bypassed.
- Liquidity behaviour
- beforeAddLiquidity simply allows liquidity additions. No remove-liquidity callbacks are enabled. Liquidity is ordinary pool liquidity between ETH and fwWETH.
- Fee behaviour
- Pool must be initialized with fee 0 (enforced in beforeInitialize). The hook returns a zero LP fee override of 0 from beforeSwap, and the swap is fully 1:1 via return deltas, so no fee is charged.
- Owner & admin controls
- No admin controls found. No owner, pause, upgrade or parameter-setter functions in the verified source; the wrapper, WETH and pool manager addresses are immutable constructor arguments.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta
beforeInitialize validates the pool pair is ETH and fwWETH with zero fee. beforeAddLiquidity allows liquidity provision. beforeSwap performs the wrap or unwrap and returns a before-swap delta that replaces the AMM math with a 1:1 conversion. beforeSwapReturnDelta lets the hook settle its own delta against the pool manager.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: No privileged roles are exposed, so there is no admin key that can change behaviour. Trust is placed in the immutable fwWETH wrapper contract and the WETH contract, whose behaviour the hook cannot influence after deployment.
Risk to user funds: Users' swap funds pass through the hook contract during wrap or unwrap, so the hook temporarily holds funds during each swap, but it cannot withdraw them to an arbitrary address. Balances are constrained by the immutable wrapper and WETH contracts.
Security findings
- [info] Return delta takes over swap pricing: beforeSwap returns a before-swap delta that fully overrides the pool's pricing, executing a 1:1 wrap or unwrap. The hook takes the input from the swapper via _take and settles the output, so it sits in the token flow of every swap.
- [low] Swap liveness depends on hook inventory: Wrapping and unwrapping depend on the hook's own ETH and fwWETH balances. If the hook holds insufficient balance, the swap reverts with InsufficientBalance rather than falling back to the pool.
- [info] Unlimited WETH approval to wrapper: The hook approves WETH to fwWETH for unlimited amount in its constructor. This is a standard pattern but means the wrapper contract can pull all WETH held by the hook.
- [low] Unchecked ERC-20 transfer return value: _pay transfers tokens directly with token.transfer without checking the return value, relying on the token to revert on failure.
Contract details
- Verified source
- Yes (FewETHHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 6,901 bytes
- Upgradeable proxy
- No
- Detected patterns
- return-delta
Pools using FewETHHook
- ETH / fwWETH (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today