Lending / Yield·Ethereum · Base · Arbitrum
Origin Dollar (OUSD / OETH)
Auto-rebasing yield-bearing tokens from Origin Protocol. OUSD is a USD stablecoin whose balance grows in your wallet from yield (USDC deployed into Morpho lending markets and Curve LPs across Ethereum, Base, and HyperLiquid). OETH and Super OETH are the ETH-denominated counterparts. EOA wallets are rebased automatically; smart contracts must opt in.
- 01auto-compounding stablecoin balance (no staking UX needed)
- 02savings UX where balance grows passively
- 03OETH / Super OETH for ETH-denominated rebasing yield
- 04treasury tools that prefer wallet-level yield over vault shares
- pnpm add viem
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_OUSD_ADDRESS | Client | OUSD ERC-20 on Ethereum mainnet: 0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86. |
| NEXT_PUBLIC_OUSD_VAULT | Client | OUSD VaultProxy on Ethereum mainnet: 0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70 — entry point for mint/redeem. |
| NEXT_PUBLIC_OETH_ADDRESS | Client | OETH ERC-20 on Ethereum mainnet: 0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3. |
Use Origin Dollar for a 'just hold it and watch it grow' yield UX. To mint OUSD: `IERC20(USDC).approve(VaultProxy, amount); IVault(VaultProxy).mint(USDC, amount, minimumOusd)` — the vault routes USDC into Morpho lending and Curve strategies and returns OUSD 1:1. Redeem with `IVault.redeem(amount, minimumUnitAmount)` (multi-asset basket) or `redeemAll(...)`. Balances rebase automatically each rebase cycle: EOAs are auto-enrolled as rebasers; SMART CONTRACTS that hold OUSD must call `OUSD.rebaseOptIn()` once or yield is silently redirected to the rest of the rebasing supply. OETH (and Super OETH on Base) is the ETH-denominated equivalent — `IVault(OETHVault).mint(WETH, amount, ...)`. NEVER use OUSD/OETH directly in a Uniswap v2-style LP without a non-rebasing wrapper (wOUSD) — the rebase will silently shift LP balances.
- ⚑Smart-contract holders (Gnosis Safe, Vaults, LPs) do NOT receive yield until they call `rebaseOptIn()` once — uninformed integrators leak yield back to the rebase pool indefinitely.
- ⚑OUSD/OETH are rebasing — DEX LPs, lending markets, and Yield Aggregators that don't natively support rebasing tokens will mis-account; always use the non-rebasing wrappers (wOUSD / wOETH) for those venues.
- ⚑Yield comes from external strategies (Morpho markets, Curve pools) — strategy smart-contract risk and underlying-collateral risk (e.g. a Morpho market liquidation cascade) flow back into OUSD's NAV.
- ⚑Origin was hacked in November 2020 (~$7M, OUSD v1 reentrancy) — protocol redeployed and reimbursed users, but verify the current vault address and audit history when integrating.
- ⚑Stablecoin de-pegs in 2023-2025 (USDC SVB event in particular) propagated into OUSD because USDC is the dominant backing — surface the current backing breakdown from the vault's `checkBalance` view.
- ⚑Rebase frequency is governance-controlled (typically every few hours) — don't compute APY from one-block balance deltas; use the vault's `rebasingCreditsPerToken_` history or the published 7d/30d APY.
- ⚑OETH backing has historically included LSTs (stETH, rETH, frxETH) — LST de-peg risk and validator-slashing risk pass through to OETH holders.