Live on Arbitrum One

Bitcoin exposure
without the chaos

An on-chain vol-protected index that dynamically scales BTC allocation based on realized volatility. Capture the upside, dampen the drawdowns.

1.62
Sharpe Ratio (10yr)
29.7%
Ann. Return
-36%
Max Drawdown
vs -84%
BTC Buy & Hold DD
Scroll to explore
Battle-tested performance
Backtested on hourly data from March 2016 to March 2026. The strategy survived every major crypto crash — COVID, Luna, FTX — with drawdowns under 36%.
Annual Return
+29.7%
Buy & Hold: +67.1%
Annualized Vol
18.4%
Buy & Hold: 70.3%
Sharpe Ratio
1.62
Buy & Hold: 0.95
Max Drawdown
-35.9%
Buy & Hold: -83.9%
Calmar Ratio
0.83
Buy & Hold: 0.80
Net Return (at $10M)
+31.2%
After slippage, fees, TWAP execution
How it works
The index uses an EWMA volatility estimator to dynamically allocate between BTC and USDC. When volatility is high, reduce exposure. When it's calm, go full BTC.
1

Measure volatility

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.

2

Compute target weight

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%.

3

Rebalance weekly

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.

// EWMA variance (recursive)
var_t = 0.94 · var_{t-1} + 0.06 · r_t²

// Annualized volatility
vol_t = sqrt(var_t) · sqrt(8760)

// BTC allocation weight
w_t = min(1, 20% / vol_t)

// Index level
I_t = I_{t-1} · (1 + w_t · r_t)
Vault dashboard
Real-time data from the Arbitrum blockchain. Refreshes every 30 seconds.
Total Vault Assets
--
Share Price
--
USDC per vpBTC20
BTC Target Weight
--
--
BTC Price
--
via Pyth Network
Current Epoch
--
--
Pending Activity
--
Holdings
WBTC -- USDC --
How to invest
Deposit USDC. Receive vpBTC20 shares. The vault handles everything — rebalancing, vol monitoring, trade execution.

Connect your wallet

CLI instructions (advanced)
1

Get USDC on Arbitrum

Send native USDC (not USDC.e) to your wallet on Arbitrum One. Withdraw from Coinbase, Binance, or bridge from Ethereum. Minimum: $1,000.

2

Approve & deposit

Approve the vault to spend your USDC, then queue your deposit for the next epoch.

cast send 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 \ "approve(address,uint256)" \ 0x475cD4f556aF816b8ec840D05e18f4F5Af14351B \ <AMOUNT> --rpc-url https://arb1.arbitrum.io/rpc --private-key <KEY> cast send 0x475cD4f556aF816b8ec840D05e18f4F5Af14351B \ "requestDeposit(uint256)" \ <AMOUNT> --rpc-url https://arb1.arbitrum.io/rpc --private-key <KEY>

100 USDC = 100000000 (6 decimals)

3

Wait for epoch settlement (~7 days)

All deposits and redemptions are processed at the same share price. No front-running. You can cancel within the first 48 hours.

4

Claim your shares

After settlement, claim your vpBTC20 tokens. You're now invested in the strategy.

cast send 0x475cD4f556aF816b8ec840D05e18f4F5Af14351B \ "claimDeposit()" --rpc-url https://arb1.arbitrum.io/rpc --private-key <KEY>
Epoch lifecycle
Day 1–2
Open
Request deposits & redemptions. Cancel freely.
Day 3–7
Locked
Requests accepted but cancellations disabled.
Settlement
Process
Keeper settles. Fees accrued. Vault rebalances.
After
Claim
Claim your shares or USDC. No deadline.
Risks
This is experimental software. Understand the risks before investing.
High
Market risk

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.

Medium
MEV / sandwich risk

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.

Medium
WBTC depeg risk

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.

Medium
Keeper risk

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.

Medium
Liquidity risk

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.

Low
Epoch lock-up

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.

Low
Centralization

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.

Contracts
All contracts are verified on Arbiscan. Source code is fully readable on-chain.
BtcVP20Vault 0x475cD4f556aF816b8ec840D05e18f4F5Af14351B
VolProtectedIndex (Oracle) 0x41Da4f8fD663309BCC78068861d4B71dF58d116B
RotationStrategy 0x17666ACe890fc73C5042C16655d1e0b51f925D89
Network Arbitrum One (Chain ID: 42161)
Token vpBTC20 (ERC-20)
Denomination USDC (native)
Strategy Parameters
Target Volatility20% annualized
EWMA Lambda (λ)0.94
Oracle UpdateHourly
RebalanceWeekly (epoch settlement)
Min Drift10%
Streaming Fee0.5% / year
Min Deposit$1,000 USDC
Slippage Guard1% max per swap
Code is Law
The complete vault source code is below. Copy it, paste it into ChatGPT / Claude / any LLM, and ask it to audit. The same code is deployed and verified on Arbiscan. What you read here is what runs on-chain. No proxy, no upgrades, no admin override on the core logic.

            
Independent LLM Audit Scorecard
The contract source code was submitted to Google Gemini 2.5 Pro for independent review. 10 questions were asked across security, math, edge cases, and architecture. Below are the results.
9/10
INSTANT EXIT SAFETY
10/10
DEAD ORACLE SAFETY
8/10
FAIRNESS
4/10
MEV PROTECTION
6.5/10
PRODUCTION READINESS
Key Findings
PASSredeemInKind is immune to flash loans and price manipulation. It uses pure proportional math, no oracle, no swap. Cannot extract more than your fair share.
PASSNo double-spend between withdrawal paths. Shares are escrowed on requestRedeem, preventing simultaneous redeemInKind exploitation.
PASSDead oracle safety is gold standard. Pro-rata dual-token withdrawal with no swap eliminates all flash loan liquidation risk.
PASSGriefing via redeemInKind is ineffective. Proportional withdrawal preserves vault ratio; attacker only burns their own gas.
PASSDonation attack neutralized. Virtual offset + $1000 min deposit makes inflation attack unprofitable.
PASSOwner cannot steal funds. All critical parameters are immutable constants burned into bytecode.
KNOWN RISKWeekly settlement swap is sandwichable. The 1% max slippage on settleEpoch rebalance allows MEV extraction of up to 1% per week. Mitigated by keeper using Flashbots Protect private mempool.
KNOWN RISKWBTC depeg scenario. Vault uses BTC/USD price feed, not WBTC/USD. If WBTC depegs, accounting becomes insolvent. Users should monitor WBTC peg health independently.
RECOMMENDEDIntegrate intent-based solver (CowSwap/1inch) for settlement swaps to reduce MEV exposure from 1% to near-zero.
Internal Audit History
Round 1 (Claude): Vulnerability scan — 13 findings, all fixed
Round 2 (Claude): Deep audit post-fixes — 6 findings (1 critical: donation attack), all fixed
Round 3 (Claude): Rapid re-audit — 5 findings (fee-on-transfer, ETH refund), all fixed
Round 4 (Claude): Adversarial simulation — 3 findings (free option, sequencer, oracle manipulation), all fixed
Round 5 (Gemini): Independent LLM audit — 10 questions, 3 critical findings, 2 fixed, 1 known risk

Fixes applied from Gemini audit:
• Flash loan on dead oracle liquidation → removed swap, pro-rata dual-token withdrawal
• Slippage bleed via emergency settle → cooldown raised to 3 days
• Virtual offset mismatch → documented, original values confirmed correct

No formal third-party audit by a security firm has been conducted. Use at your own risk.
Audit It Yourself
Don't trust us — verify. Copy the source code above and paste it into any LLM (ChatGPT, Claude, Gemini, Grok) with the question below. Compare the answer to our published findings.
Here is the full source code of a BTC vol-protected vault deployed on Arbitrum. It has three withdrawal paths: (1) epoch-based requestRedeem + claimRedeem that converts to USDC after 7 days, (2) instant redeemInKind that returns pro-rata USDC + WBTC with no swap, and (3) emergencyWithdraw after 30-day oracle failure. The vault charges 0.5% annual fee, has a 3-day emergency settle cooldown, uses Pyth oracle for BTC pricing, and swaps on Uniswap V3 with 1% max slippage. Please audit this contract for: (a) any way to steal funds or extract more than your fair share, (b) interaction risks between the three withdrawal paths, (c) flash loan attack vectors, (d) whether the owner can rug users, and (e) rate its overall production readiness from 1-10 with the single biggest risk.