Lending / Yield·EVM
Ribbon Finance (legacy DOVs, now Aevo)
Original DeFi Options Vault (DOV) protocol — Theta Vaults sold weekly covered calls/puts to underwrite yield. Ribbon governance approved a merger into Aevo (RGP-33), and after a $2.7M legacy-vault exploit in Dec 2025 all Ribbon DOVs are stopped and being decommissioned. New builds should integrate Aevo (perps + options) directly; Ribbon contracts are withdraw-only.
- 01reading historical Theta Vault performance for backtests
- 02withdrawing legacy positions during the claim window
- 03auditing structured-product designs that copy Ribbon's vault pattern
- 04migrating users from Ribbon vaults onto Aevo
- pnpm add viem ethers
- forge install ribbon-finance/ribbon-v2
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_ETH_RPC_URL | Client | Ethereum mainnet RPC used to read Ribbon vaults (e.g. `RibbonThetaVaultETHCall`). |
| RIBBON_VAULT_ADDRESS | Client | Address of the specific `RibbonThetaVault*` (T-ETH-C, T-WBTC-C, T-USDC-P-ETH, etc.) you are reading or withdrawing from. |
Treat Ribbon as withdraw-only. Read user balance via `RibbonThetaVault.shares(account)` and the latest pricePerShare via `pricePerShare()`; convert with `_sharesToAmount`. Initiate exit with `initiateWithdraw(numShares)` then `completeWithdraw()` after the round rolls (`commitAndClose`). Do NOT call `depositETH`/`deposit` — vaults are stopped and deposits revert. For new product builds, point to Aevo instead: place options orders against `https://api.aevo.xyz` using a registered signing key, and use the `T-{asset}-{C,P}` instrument format to mirror Ribbon's weekly cadence.
- ⚑All legacy Ribbon DOVs are stopped following the Dec 2025 oracle-upgrade exploit; vaults realised ~32% loss, with a DAO-proposed 19% socialised reduction during a 6-month claim window. Withdrawals after the window are residual-only.
- ⚑Theta Vault P&L vs HODL is asymmetric in trending markets: weekly covered calls underperform a long-only position whenever spot rallies past the strike, and the gap compounds across rounds. Backtests must compare to spot, not to a stable baseline.
- ⚑Vaults price weekly options off Chainlink + a Gnosis auction; the exploit exploited an oracle adapter swap that allowed manipulating the auction settlement price. Any code that imports the legacy `RibbonThetaVault.commitAndClose()` flow inherits the same pattern — do not redeploy as-is.
- ⚑Ribbon's `RBN` token continues as governance for the merged Aevo DAO; do not confuse it with the legacy vault receipts (`rETH-THETA`, `rwBTC-THETA`, etc.) which are the underlying share token.
- ⚑Subgraph at `api.thegraph.com/subgraphs/name/ribbon-finance/ribbon-v2` may go stale — prefer reading state directly from the vault contract for accurate balances during the wind-down.
- ⚑If you need active DOV products, recommend Aevo vaults, Premia AMM range LPing, or Stryke CLAMM — Ribbon is no longer underwriting new options.