← Protocols
ether.fi
01Description

Largest liquid restaking protocol. Stake ETH to receive rebasing eETH (or non-rebasing wrapped weETH) which is natively restaked across EigenLayer + Symbiotic AVSs to stack staking yield, restaking rewards, and ETHFI/points.

02Best for
  • 01ETH liquid restaking
  • 02eETH / weETH DeFi composability
  • 03EigenLayer + Symbiotic AVS exposure
  • 04ETHFI loyalty points integrations
03Install
  • pnpm add viem
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_EETH_ADDRESSClienteETH (rebasing) on Ethereum mainnet: 0x35fA164735182de50811E8e2E824cFb9B6118ac2.
NEXT_PUBLIC_WEETH_ADDRESSClientweETH (wrapped, non-rebasing ERC-20) on Ethereum mainnet: 0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee. Available natively on Arbitrum, Base, Linea, Scroll, Mode.
NEXT_PUBLIC_ETHERFI_LIQUIDITY_POOLClientether.fi LiquidityPool on Ethereum mainnet: 0x308861A430be4cce5502d0A12724771Fc6DaF216.
05Prompt snippet
Integrate ether.fi liquid restaking. To stake: `LiquidityPool.deposit{value: ethAmount}()` mints rebasing eETH 1:1 to msg.sender. Wrap to non-rebasing for DeFi: `IERC20(eETH).approve(weETH, amount); weETH.wrap(uint256 eEthAmount)` returns weETH whose `getRate()` (wei per weETH) only goes up. Unwrap with `weETH.unwrap(uint256 weETHAmount)`. Withdrawals are queued: `LiquidityPool.requestWithdraw(address recipient, uint256 amount)` mints a `WithdrawRequestNFT` which becomes claimable after the request is finalized by validator exits — claim via `WithdrawRequestNFT.claimWithdraw(uint256 tokenId)`. On L2s (Arbitrum, Base, Linea, Scroll, Mode) weETH is the canonical bridged token; eETH only lives on mainnet. For DeFi accounting always use weETH — eETH rebases daily on `rebase()` from the oracle.
06Gotchas
  • eETH is REBASING — balances change on every oracle rebase. Use weETH for AMMs, lending markets, and any system that assumes static ERC-20 balances (same trap as stETH).
  • Withdrawals require the validator exit queue — finalization can take days to weeks depending on protocol exits queue and beacon-chain churn limit; the WithdrawRequestNFT is the only proof of your queued request.
  • ether.fi node operators opt into AVSs via EigenLayer (and now Symbiotic) — restaking SLASHING is now live; a misbehaving operator can reduce eETH/ETH backing.
  • weETH peg to ETH is enforced only by secondary markets (Curve, Balancer, Pendle) until withdrawal — large redemptions during stress can cause noticeable depegs.
  • weETH on L2s is bridged via canonical bridges; the L2 weETH is fully backed by L1 weETH but inherits bridge risk and may be paused independently.
  • Points / ETHFI rewards are off-chain Merkle-claim distributions — they are NOT auto-credited. Users must `claim` from the rewards contract using a Merkle proof from ether.fi's API.
  • Liquid Vaults (Liquid ETH, Liquid USD, BTC vault) are separate ERC-4626 strategies on top of weETH — they have their own deposit caps, withdrawal cooldowns, and strategy risk.
07Alternatives