Lending / Yield·EVM
Pods Finance
Decentralized options protocol and structured-product issuer on Ethereum. The active product is Pods Yield — `stETHvv` (staked ETH Volatility Vault) combines Lido stETH yield with weekly ETH strangles to generate principal-protected returns when ETH is volatile.
- 01principal-protected ETH volatility strategies
- 02stETH-denominated yield with optional upside
- 03structured products on top of Lido
- 04Ethereum mainnet options vault integrations
- pnpm add viem ethers
- forge install pods-finance/yield-contracts
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_ETH_RPC_URL | Client | Ethereum mainnet RPC for reading the `STETH_VAULT` (`stETHvv`) and related strategy contracts. |
| PODS_VAULT_ADDRESS | Client | Address of the `stETHvv` `BaseVault` deployment — required for any deposit/withdraw/read call. |
Use viem/ethers directly against `BaseVault` (`stETHvv`). Deposit with `vault.deposit(assets, receiver)` (ERC-4626-like) — the vault rebalances on the next round. Read user share value via `vault.previewRedeem(shares)` and total assets via `vault.totalAssets()`. Initiate exit with `vault.queueWithdraw(shares)` — funds release after the current round closes via `processQueuedWithdraws()`. The strategy posts weekly strangles to a partner options venue; round transitions are triggered by the keeper calling `vault.endRound()` then `vault.startRound()`. Always check `vault.isProcessingDeposits()` before a UI deposit — it will revert during round-roll.
- ⚑Strategy P&L vs HODL stETH is meaningfully worse in directional rallies/sell-offs — strangles lose money when ETH moves linearly, and the vault is designed for principal-protected vol harvesting, not directional exposure.
- ⚑Vault rounds: deposits queue until the next round; withdrawals queue and only complete after the round ends. UIs that show 'instant withdraw' will mislead users — surface the round timer.
- ⚑stETH peg risk: the vault holds Lido stETH, which is correlated to but not identical to ETH. Any depeg/oracle issue (Lido withdrawal queue, slashing of Lido validators) flows through to vault NAV.
- ⚑Strategy options legs are sold to a market-maker counterparty off-chain; if that counterparty fails to settle, the round may be skipped. Read `vault.lastRoundEnd()` to detect stalled rounds.
- ⚑Pods previously had v1 options-AMM contracts on Polygon and Ethereum (`pods-finance/contracts`); those are deprecated. New integrations should reference `yield-contracts` only.
- ⚑There is no public TypeScript SDK — integrate via the in-repo ABIs and `@openzeppelin/contracts/interfaces/IERC4626.sol` patterns.