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 deposit. Shares are minted instantly. The vault swaps part of your USDC to WBTC to match the target BTC allocation.

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

100 USDC = 100000000 (6 decimals). Second param is minWbtcOut (0 = default 0.5% slippage). Third param is Pyth update data (empty = use cached price).

3

Done — you're invested

vpBTC20 shares are in your wallet immediately. The vault automatically rebalances BTC/USDC weekly based on volatility.

4

Redeem In Kind (instant)

Withdraw your pro-rata share of USDC + WBTC immediately. No epoch wait, no swap, no slippage. You sell the WBTC yourself.

cast send 0xD43090A082738Cb10Bf6C38366fBbA19D413C65b \ "redeemInKind(uint256)" \ <SHARES> --rpc-url https://arb1.arbitrum.io/rpc --private-key <KEY>

SHARES is in 18 decimals. 1 share = 1000000000000000000.

5

Request USDC redemption (epoch-based)

Queue a redemption to receive pure USDC at the next weekly settlement. You can cancel within the first 48 hours.

# Request redemption cast send 0xD43090A082738Cb10Bf6C38366fBbA19D413C65b \ "requestRedeem(uint256)" \ <SHARES> --rpc-url https://arb1.arbitrum.io/rpc --private-key <KEY> # Cancel (within first 48h only) cast send 0xD43090A082738Cb10Bf6C38366fBbA19D413C65b \ "cancelRedeem()" --rpc-url https://arb1.arbitrum.io/rpc --private-key <KEY>
6

Claim USDC after settlement

After the keeper settles the epoch (~7 days), claim your USDC. A 0.3% exit fee applies (stays in the vault).

cast send 0xD43090A082738Cb10Bf6C38366fBbA19D413C65b \ "claimRedeem()" --rpc-url https://arb1.arbitrum.io/rpc --private-key <KEY>
How it works
Deposit
Instant
Deposit USDC and receive vpBTC20 shares in the same transaction. The vault swaps to match the BTC target weight. The Uniswap 0.3% pool fee is the only cost.
Redeem
Epoch-based (7 days)
Request a USDC redemption anytime. Cancel within the first 48 hours. Settled weekly when the keeper processes the epoch. Or use Redeem In Kind for instant withdrawal.
Settlement
Automated weekly
On-chain keeper settles the epoch: accrues streaming fees, computes share price, reserves USDC for redeemers, and rebalances WBTC/USDC to the vol-adjusted target weight.
Claim
After settlement
Claim USDC from settled redemptions. Unclaimed after 90 days returns to the vault. Deposits never need claiming — shares are already in your wallet.
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 0xD43090A082738Cb10Bf6C38366fBbA19D413C65b
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
Entry/Exit Fee0.3% (= Uniswap pool fee, stays in vault)
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
7/10
MEV PROTECTION
was 4/10 pre-fix
8/10
PRODUCTION READINESS
was 6.5/10 pre-fix
Key Findings
PASSredeemInKind is immune to flash loans and price manipulation. 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 + $1,000 min deposit makes inflation attack unprofitable.
PASSOwner cannot steal funds. All critical parameters are immutable constants burned into bytecode.
PASSEntry/exit fees protect existing holders. 0.3% fee (matching Uniswap pool fee) on deposits and epoch redemptions. Fee stays in vault — new investors pay their own rebalancing costs. Instant Exit (redeemInKind) is free.
MITIGATEDMEV sandwich risk reduced. Settlement uses random execution time (24h window) + Flashbots Protect private mempool + automatic chunking for large trades. Residual risk: ~0.1-0.3% per epoch.
KNOWN RISKWBTC depeg scenario. Vault uses BTC/USD price feed, not WBTC/USD. If WBTC depegs, accounting becomes insolvent. Users can exit instantly via redeemInKind to receive raw WBTC and sell it themselves.
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
Round 6 (Claude): Full system audit post continuous-deposit refactor — 20 findings (1 critical: keeper DOS via reverting receiver, 1 high: missing reentrancy guards, 2 medium), all fixed
Round 7 (Claude): Re-audit post-remediation — 0 critical/high/medium. 2 low, 3 informational. Clean.

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

Fixes applied from Round 6 audit:
• Keeper DOS via reverting ETH receiver → _sendTip made non-reverting
• claimRedeem / redeemInKind missing reentrancy guard → nonReentrant added
• updateAndSettle overpaying tip when oracle fresh → conditional tip logic
• Oracle-pool price divergence on deposit → depositValue capped at input amount
• _getTargetWeight called twice in settlement → computed once, passed to _rebalance
• Worker /run endpoint unauthenticated → Bearer token required

7 rounds of LLM-assisted audit completed. All critical and high findings resolved.
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. Deposits are instant: USDC is split to match the fund's BTC target weight via a Uniswap V3 swap, and shares are minted immediately based on post-swap value (capped at input amount). Redemptions are epoch-based (7-day cycles). The vault has three withdrawal paths: (1) epoch-based requestRedeem + claimRedeem that converts to USDC after settlement, (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 streaming fee, has a 3-day emergency settle cooldown, uses Pyth oracle for BTC pricing, swaps on Uniswap V3 with 0.5% default deposit slippage and 1% keeper slippage, has a $500k deposit cap, 90-day redemption expiry, ReentrancyGuard on deposit/claimRedeem/redeemInKind, and a permissionless VaultKeeper contract with non-reverting ETH tips. Please audit for: (a) any way to steal funds or extract more than your fair share, (b) interaction risks between instant deposits and epoch-based redemptions, (c) flash loan attack vectors, (d) whether the owner can rug users, (e) MEV/sandwich risks on the inline deposit swap, and (f) rate its overall production readiness from 1-10 with the single biggest risk.
Legal Disclaimers
General Disclaimer
This website and the BTC-VP20 vault smart contracts are provided "as is" without warranty of any kind, express or implied. The information on this website does not constitute investment advice, financial advice, trading advice, or any other form of advice. You should not treat any of the website's content as such. Nothing on this website constitutes a solicitation, recommendation, endorsement, or offer to buy or sell any digital assets or financial instruments.
U.S. Securities Law (SEC)
The vpBTC20 token and vault shares have not been registered under the U.S. Securities Act of 1933, as amended, or under the securities laws of any U.S. state. The vault shares may not be offered, sold, or otherwise transferred in the United States or to U.S. persons (as defined in Regulation S under the Securities Act) unless registered or exempt from registration. No determination has been made as to whether vpBTC20 constitutes a "security" under U.S. federal or state law. Users are solely responsible for ensuring compliance with all applicable laws in their jurisdiction. This product is not available to residents of the United States or any jurisdiction where such participation would be prohibited by law.
EU Regulation (ESMA / MiCA)
This product has not been approved or reviewed by the European Securities and Markets Authority (ESMA) or any EU national competent authority. Under the Markets in Crypto-Assets Regulation (MiCA), crypto-asset service providers must be authorized in the EU. This vault is a decentralized, non-custodial smart contract deployed on a public blockchain. No entity acts as a crypto-asset service provider within the meaning of MiCA. Users in the EU/EEA should be aware that this product may not benefit from the protections afforded by MiCA and should assess their own regulatory obligations before participating. Past performance data presented on this website (backtests) does not constitute a guarantee of future performance and should not be relied upon as such, in accordance with ESMA guidelines on marketing communications.
UK Regulation (FCA)
This product is not authorized or regulated by the UK Financial Conduct Authority (FCA). Cryptoassets are not covered by the Financial Services Compensation Scheme (FSCS) or the Financial Ombudsman Service. There is no consumer protection available. The value of crypto-assets can go down as well as up, and you could lose the entire amount invested. Tax treatment depends on individual circumstances and may change in the future.
Risk Warnings
Capital at risk: You may lose some or all of your investment. Crypto-assets are highly volatile and speculative.
Past performance: The backtest results displayed (1.62 Sharpe, 29.7% annual return, -36% max drawdown) are based on historical data from March 2016 to March 2026 and are not indicative of future results. Backtests have inherent limitations including survivorship bias and look-ahead bias.
Smart contract risk: This vault has been audited by AI-based tools (Claude, Gemini) but has not undergone a formal audit by a licensed security firm. Smart contracts may contain undiscovered bugs that could result in total loss of deposited funds.
Oracle risk: The vault relies on Pyth Network for BTC price data. Oracle failure or manipulation could lead to incorrect valuations and fund losses.
Liquidity risk: Redemptions through the epoch-based path may face slippage. The vault's ability to convert WBTC to USDC depends on Uniswap V3 liquidity.
Counterparty risk: The vault holds Wrapped Bitcoin (WBTC), which is a custodial wrapped asset. WBTC's value depends on the solvency and integrity of its custodian (BitGo). A custodian failure or depeg event could cause loss of funds.
Regulatory risk: The legal and regulatory status of decentralized finance products is uncertain and evolving. Changes in law or regulation may adversely affect the vault or its users.
No Investment Advice
The operators of this vault are not registered as investment advisers, broker-dealers, or financial planners with any regulatory authority. All content on this website is for informational purposes only. You should consult with a qualified financial adviser before making any investment decision. By interacting with this smart contract, you acknowledge that you are doing so at your own risk and that you have conducted your own due diligence. You represent that you are not a resident of any jurisdiction where participation in this product would violate applicable law.
Tax Obligations
Depositing, redeeming, and holding vault shares may give rise to taxable events in your jurisdiction. This may include capital gains tax, income tax, or other levies. You are solely responsible for determining what taxes apply to your transactions and for filing any required tax returns. The vault operators do not provide tax advice and will not issue tax forms or reports.