An on-chain vol-protected index that dynamically scales BTC allocation based on realized volatility. Capture the upside, dampen the drawdowns.
Every hour, the oracle reads the BTC price from Pyth Network and updates the EWMA variance estimate with decay factor λ=0.94. This gives a reactive, real-time view of market risk.
The BTC allocation is inversely proportional to realized vol, targeting 20% annualized. When vol is 60%, weight drops to 33%. When vol is 15%, weight goes to 100%.
Each epoch (7 days), the vault rebalances its WBTC/USDC holdings to match the target weight. Trades execute via Uniswap V3 with 1% max slippage protection.
Send native USDC (not USDC.e) to your wallet on Arbitrum One. Withdraw from Coinbase, Binance, or bridge from Ethereum. Minimum: $1,000.
Approve the vault to spend your USDC, then queue your deposit for the next epoch.
100 USDC = 100000000 (6 decimals)
All deposits and redemptions are processed at the same share price. No front-running. You can cancel within the first 48 hours.
After settlement, claim your vpBTC20 tokens. You're now invested in the strategy.
BTC can lose significant value. The vol-protection targets 20% annualized volatility and reduced max drawdown from -84% to -36% in backtests, but past performance does not guarantee future results. You can lose money.
Weekly settlement swaps are mitigated by: (1) random execution time within a 24h window, (2) automatic chunking for trades above $100k, (3) Flashbots Protect private mempool. Residual risk: ~0.1-0.3% per epoch on large rebalances.
The vault uses BTC/USD price feed (Pyth), not WBTC/USD. If WBTC depegs from BTC (custodian failure), the vault's accounting becomes insolvent. Users can exit instantly via Instant Exit (redeemInKind) to receive raw WBTC and sell it themselves.
If the keeper stops, the oracle goes stale and the vault cannot settle or rebalance. The owner can call emergencySettle (3-day cooldown). If both keeper and owner fail for 30 days, anyone can trigger emergency mode and users withdraw pro-rata USDC + WBTC instantly.
Large settlement swaps may face slippage on Uniswap V3. At $10M AUM, estimated slippage is ~15 bps per trade with 2h TWAP execution. Users can avoid this entirely by using Instant Exit (redeemInKind) which involves no swap.
Epoch-based withdrawals take up to 7 days. However, Instant Exit is always available — redeemInKind returns USDC + WBTC immediately with no wait, no swap, no slippage. Cancellation is available within the first 48 hours of each epoch.
The owner can: pause the vault, call emergency settle (3-day cooldown), change keeper address. The owner cannot: change fees, change slippage limits, move user funds, upgrade the contract. All critical parameters are immutable constants. Users can always exit via redeemInKind regardless of owner actions.
| BtcVP20Vault | 0x475cD4f556aF816b8ec840D05e18f4F5Af14351B |
| VolProtectedIndex (Oracle) | 0x41Da4f8fD663309BCC78068861d4B71dF58d116B |
| RotationStrategy | 0x17666ACe890fc73C5042C16655d1e0b51f925D89 |
| Network | Arbitrum One (Chain ID: 42161) |
| Token | vpBTC20 (ERC-20) |
| Denomination | USDC (native) |
| Target Volatility | 20% annualized |
| EWMA Lambda (λ) | 0.94 |
| Oracle Update | Hourly |
| Rebalance | Weekly (epoch settlement) |
| Min Drift | 10% |
| Streaming Fee | 0.5% / year |
| Min Deposit | $1,000 USDC |
| Slippage Guard | 1% max per swap |