Lending / Yield·EVM
Origin Ether
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.
- 01diversified ETH yield from one token
- 02auto-compounded staking exposure
- 03wOETH for DeFi composability
- 04super OETH on L2s (Base, Sonic, Plume)
- pnpm add viem
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_OETH_ADDRESS | Client | OETH (rebasing) on Ethereum mainnet: 0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3. |
| NEXT_PUBLIC_WOETH_ADDRESS | Client | wOETH (ERC-4626 wrapped, non-rebasing) on Ethereum mainnet: 0xDcEe70654261AF21C44c093C300eD3Bb97b78192. |
| NEXT_PUBLIC_OETH_VAULT | Client | OETHVault on Ethereum mainnet: 0x39254033945AA2E4809Cc2977E7087BEE48bd7Ab. Mint/redeem with WETH, stETH, rETH, frxETH. |
| NEXT_PUBLIC_OETH_ZAPPER | Client | OETH Zapper on Ethereum mainnet: 0x9858e47BCbBe6fBAC040519B02d7cd4B2C470C66. Use to mint OETH directly with raw ETH or sfrxETH. |
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.
- ⚑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.