flETHHooks on Ethereum

Uniswap v4 Hook Contract 0x1ba56371505975eb65bd0789bb78a977b126e888 on Ethereum · Custom pricing · Verified contract

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$0
Pools using this hook
1
Swaps (24h)
45 (11 traders)
Total swaps
881

What it does

A 1:1 ETH to flETH swap hook that lets traders convert between ETH and flETH at par inside a Uniswap v4 pool, while blocking all liquidity provision.

This read was written for the hook 0x26ba…a888 on Unichain 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

  • Restricts the pool to the native ETH and flETH pair with a zero fee
  • Blocks all direct liquidity additions with CannotAddLiquidity
  • Overrides each swap with a constant 1:1 conversion using beforeSwapReturnDelta
  • Deposits ETH into flETH when ETH is the input and withdraws flETH to ETH when flETH is the input
  • Settles output currency back to the PoolManager via sync and settle
Swap behaviour
Each swap takes the full input amount from the PoolManager, converts it 1:1 via flETH deposit or withdraw, and settles the output back to the PoolManager, bypassing the pool's AMM curve.
Liquidity behaviour
beforeAddLiquidity always reverts with CannotAddLiquidity, so no LP can add liquidity. No remove-liquidity callbacks are enabled.
Fee behaviour
Pool fee must be zero (enforced in beforeInitialize, reverts with FeeMustBeZero otherwise). No protocol fee is taken by the hook.
Owner & admin controls
No admin controls found. The flETH and flToken addresses are immutable and there is no owner, pause or upgrade path in the verified source.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta

beforeInitialize validates the pool is ETH/flETH with zero fee. beforeAddLiquidity blocks all liquidity provision. beforeSwap takes the full input from the PoolManager, converts it 1:1 through flETH and settles the output back, with beforeSwapReturnDelta used to cancel the concentrated-liquidity swap. Other callbacks are not enabled.

Security & trust assessment

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

Who controls it: No privileged key is present in the verified source, so no single party can change pricing, pause swaps or drain funds through the hook.

Risk to user funds: The hook takes input tokens from the PoolManager and converts them through the immutable flETH contract before settling output back. Funds are only in transit during a swap, and the verified code contains no owner withdrawal path, so user funds are not exposed to an admin key.

Security findings

  • [info] Return-delta swap override: beforeSwapReturnDelta is enabled, so the hook returns a delta that overrides the pool's AMM math and takes the full input from the PoolManager on every swap.
  • [low] Dependence on flETH wrapper behaviour: Swaps are a constant 1:1 conversion between ETH and flETH, which depends on the flETH contract honoring deposit and withdraw at parity; a flETH contract fault would propagate to swaps.
  • [info] Transient custody of swap funds: The hook holds ETH and flETH transiently during swaps and settles them to the PoolManager; it does not keep a standing balance, and the receive function only accepts ETH from the wrapper and PoolManager in practice.

Contract details

Verified source
Yes (flETHHooks)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
4,962 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta

Pools using flETHHooks