← Protocols
Origin Ether
01Description

OETH is a yield-bearing ETH issued by Origin Protocol, backed 1:1 by a basket of WETH, stETH, rETH, frxETH and an AMO strategy on Curve. Yield is auto-compounded into the OETH balance via daily rebases. Wrapped wOETH provides a non-rebasing ERC-4626 wrapper for DeFi.

02Best for
  • 01diversified ETH yield from one token
  • 02auto-compounded staking exposure
  • 03wOETH for DeFi composability
  • 04super OETH on L2s (Base, Sonic, Plume)
03Install
  • pnpm add viem
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_OETH_ADDRESSClientOETH (rebasing) on Ethereum mainnet: 0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3.
NEXT_PUBLIC_WOETH_ADDRESSClientwOETH (ERC-4626 wrapped, non-rebasing) on Ethereum mainnet: 0xDcEe70654261AF21C44c093C300eD3Bb97b78192.
NEXT_PUBLIC_OETH_VAULTClientOETHVault on Ethereum mainnet: 0x39254033945AA2E4809Cc2977E7087BEE48bd7Ab. Mint/redeem with WETH, stETH, rETH, frxETH.
NEXT_PUBLIC_OETH_ZAPPERClientOETH Zapper on Ethereum mainnet: 0x9858e47BCbBe6fBAC040519B02d7cd4B2C470C66. Use to mint OETH directly with raw ETH or sfrxETH.
05Prompt snippet
Integrate Origin Ether. Mint OETH from raw ETH using the Zapper: `OETHZapper.deposit{value: ethAmount}()` returns OETH 1:1. Mint from WETH/stETH/rETH/frxETH via the Vault: `IERC20(asset).approve(OETHVault, amount); OETHVault.mint(address asset, uint256 amount, uint256 minOETH)`. OETH is REBASING — `OETH.balanceOf(holder)` increases each day after the daily yield distribution. For DeFi, wrap to non-rebasing wOETH (ERC-4626): `IERC20(OETH).approve(wOETH, amount); wOETH.deposit(uint256 assets, address receiver)`. Redeem via `OETHVault.redeem(uint256 oethAmount, uint256 minimumUnitAmount)` — returns a proportional mix of the backing assets (no single asset guaranteed). On L2s (Base, Sonic, Plume) the analogous token is 'super OETH' deployed at chain-specific addresses; check the Origin docs registry before integrating.
06Gotchas
  • OETH is REBASING — daily rebase changes `balanceOf` without a transfer event. Lending markets, AMMs, and accounting systems that assume static balances will MISACCOUNT yield. Use wOETH (ERC-4626) instead.
  • Vault redemption returns a PRO-RATA basket of underlying assets (WETH + stETH + rETH + frxETH), not a single asset. UI must show 'mixed redemption' or use a swap to convert.
  • OETH/ETH peg can drift on Curve during stress because the AMO strategy actively manages the OETH/ETH pool — large unwinds may force sub-1.0 redemption via DEX rather than vault.
  • stETH/rETH/frxETH backing inherits each LST's underlying staking + slashing risks; OETH stacks all of them.
  • `rebaseOptOut()` exists for contracts that cannot handle rebases (e.g. some lending markets) — opted-out balances do NOT receive yield. Verify integration partners haven't accidentally opted out.
  • Daily yield distribution comes from harvesting Curve AMO + LST rewards; protocol-controlled harvesting can be paused or delayed without notice.
  • Super OETH on Base / Sonic / Plume is a different deployment with separate strategies and exchange-rate behavior — do NOT assume mainnet OETH semantics carry over.
07Alternatives