Overview
Deposit into fixed-strike call vaults and CLVEX directional/condor strategy vaults on Base. Each vault rolls weekly options against deposited collateral and pays accrued yield to share-holders.
Chain
client.strategyVault is Base only (chainId 8453). Calls throw NETWORK_UNSUPPORTED when the client is configured for any other chain.
const client = new ThetanutsClient({ chainId: 8453, provider, signer });How It Works
There are two vault families behind one module:
Fixed-strike vaults sell covered calls on aBasWETH (Aave-wrapped WETH on Base) at a strike encoded in the vault name (
ETH-3000,ETH-3500, etc.). Each Friday, the vault writes a weekly call at its strike against deposited collateral; LPs collect premium.CLVEX vaults run pre-defined directional or condor strategies (
bull,bear,condor). The vault decides which structure to write each week based on its strategy.
A vault has one share-class (no series), so depositors mix into a single pool and share gains/losses pro-rata.
LPs deposit the vault's base asset (e.g. aBasWETH) and receive shares
Vault calls
createOption()when eligible (typically once per cycle, gated bycanCreateOption())At expiry, the option is settled against the underlying price; LPs absorb gains or losses
LPs withdraw by burning shares for pro-rata vault assets
The module exposes shortcuts to enumerate the live vault rosters (getFixedStrikeVaults, getClvexVaults).
Quick Start
Method Overview
Discovery
getAllVaults()
Live state of every fixed-strike + CLVEX vault
getFixedStrikeVaults()
Live state of fixed-strike vaults only
getClvexVaults()
Live state of CLVEX strategy vaults only
getAllVaultStates(addresses[])
Batch state lookup for an arbitrary vault list
State (read-only)
getVaultState(vault)
Full snapshot: assets, shares, next expiry, recovery state
getTotalAssets(vault)
Base + quote assets currently held
getShareBalance(vault, address)
Share balance for a user
getNextExpiry(vault)
Unix timestamp for the next option expiry
canCreateOption(vault)
Whether createOption() is eligible right now
isRecoveryMode(vault)
Whether the vault is paused for emergency withdrawals
Writes
deposit(vault, amount, assetIndex)
Deposit base or quote asset, receive shares
Yes
withdraw(vault, shares)
Burn shares, receive pro-rata assets
Yes
createOption(vault)
Trigger the next option-selling cycle (anyone can call when eligible)
Yes
assetIndex selects which side of the vault you're depositing — 0 = base asset, 1 = quote asset (vaults that accept both). For fixed-strike, base = aBasWETH and quote = aBasUSDC.
Configuration
Contract Addresses (Base)
Fixed-strike (ETH calls)
ETH-3000
0x5189180C5Bb1bB54f8479a6aeFdFFEd66Ea0951b
3000
ETH-3500
0xf70088De12E325562dEbfd7740089d894d5b23ce
3500
ETH-4000
0xf4BeE19920B7672A763e40FAD720714B7B1cb7aa
4000
ETH-4500
0x05701eE7269b5Cd36660e9A62C9Fc6B7B67FfF12
4500
ETH-5000
0xE0f808f7717157627139dA38F1226E7011582b67
5000
Fixed-strike base asset: aBasWETH 0xD4a0e0b9149BCee3C920d2E00b5dE09138fd8bb7 Fixed-strike quote asset: aBasUSDC 0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB
CLVEX (strategy vaults)
CLVEX Bull
0xeD4c7897D5f1BD8cD00297B3348Fe558D2ABF2Ff
bull
CLVEX Bear
0x07E7a12D9CFc5bc18f578D7C400B26741fc699BE
bear
CLVEX Condor
0xFB073625088014fe4826ae4Ab7Cde12B922Ba5F2
condor
Shared
Vault-side OptionFactory
0x1D1Fee494dDEAF32626dcd50e0Cd83890574730f
Used internally by the strategy vaults to mint weekly options. Distinct from chainConfig.contracts.optionFactory (0x8118daD9…), which is the canonical user-facing OptionFactory for direct RFQs.
See Also
Modules Overview — All client modules at a glance
Wheel Vault — Ethereum-side wheel-strategy vaults
Token Operations — ERC20 approvals required before deposits
Last updated

