Live on Arbitrum One

Bitcoin exposure
with trend protection

A simple on-chain trend-following strategy. Hold BTC when price is above its 45-day moving average. Hold USDC when below. Binary, transparent, daily.

Signal (Spot/SMA)
--
BTC Weight
--
SMA(45d)
--
1.31
Sharpe Ratio (10yr)
+53.0%
Ann. Return
-68.1%
Max Drawdown
vs -83.8%
BTC Buy & Hold DD
Scroll to explore
Battle-tested performance
Backtested on daily data from 2016 to 2026 with 0.10% multi-hop swap cost per flip (~13 flips/year). Higher return and better Sharpe than BTC buy & hold.
Annual Return
+53.0%
Buy & Hold: +42.6%
Annualized Vol
40.4%
Buy & Hold: 56.8%
Sharpe Ratio
1.31
Buy & Hold: 0.75
Max Drawdown
-68.1%
Buy & Hold: -83.8%
How it works
Every day, the vault checks if BTC price is above its 45-day average. Above → hold BTC. Below → hold USDC. Simple, transparent, on-chain.
1

Compute SMA on-chain

The vault maintains a 45-entry daily price ring buffer on-chain. Each day, the keeper pushes the latest BTC/USD price (via Pyth oracle) into the buffer and the contract computes the simple moving average.

2

Binary signal

If BTC price > SMA(45d), the target weight is 100% BTC (WBTC). If BTC price ≤ SMA(45d), the target weight is 0% BTC (100% USDC). No gradients, no complex math — just above or below.

3

Daily rebalance

The keeper rebalances WBTC/USDC holdings daily to match the signal. Swaps execute via Uniswap V3 multi-hop (USDC→WETH→WBTC) with 0.05%+0.05% = 0.10% total fee and 1% max slippage.

// 45-day Simple Moving Average (on-chain ring buffer)
SMA_45 = sum(price[i] for i in last 45 entries) / 45

// Binary signal
weight = (btcPrice > SMA_45) ? 100% : 0%

// Rebalance: swap only on signal flip (~13x/year)
if weight changed: swap WBTC ↔ USDC via USDC→WETH→WBTC (0.10% fee)
Vault dashboard
Real-time data from the Arbitrum blockchain. Refreshes every 30 seconds.
Total Vault Assets
--
Share Price
--
USDC per vpBTC
Signal (Spot/SMA - 1)
--
--
BTC Price
--
via Pyth Network
SMA(45d) Price
--
On-chain ring buffer
Last Rebalance
--
Daily (keeper-triggered)
Holdings
WBTC -- USDC --
How to invest
Deposits are in-kind only. When signal is ABOVE SMA (weight=100%), deposit WBTC. When signal is BELOW (weight=0%), deposit USDC. The vault shows you which token to deposit. Entry fee: 0.10%.

Connect your wallet

CLI instructions (advanced)
1

Get WBTC or USDC on Arbitrum

Check the current signal. If ABOVE SMA, you need WBTC. If BELOW SMA, you need USDC (native, not USDC.e). Send to your wallet on Arbitrum One.

2

Approve & deposit

Approve the vault to spend your token (WBTC or USDC depending on signal), then deposit. Shares are minted instantly. No swap on deposit.

# Example: deposit USDC (when signal = BELOW SMA) cast send 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 \ "approve(address,uint256)" \ 0x3034E68Ecc4e5B133a148d7D8c9F5c2Cf2a2EF12 \ <AMOUNT> --rpc-url https://arb1.arbitrum.io/rpc --private-key <KEY> cast send 0x3034E68Ecc4e5B133a148d7D8c9F5c2Cf2a2EF12 \ "deposit(uint256,address)" \ <AMOUNT> <YOUR_ADDRESS> \ --rpc-url https://arb1.arbitrum.io/rpc --private-key <KEY>

USDC: 6 decimals (100 USDC = 100000000). WBTC: 8 decimals (1 WBTC = 100000000). Entry fee: 0.10%.

3

Done — you're invested

vpBTC shares are in your wallet immediately. The vault automatically rebalances BTC/USDC daily based on the MA(45d) trend signal.

4

Redeem In Kind (instant)

Withdraw your pro-rata share of USDC + WBTC immediately. No swap, no slippage, no fee. Sell the WBTC yourself on any DEX.

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

SHARES is in 6 decimals. 1 share = 1000000.

How it works
Deposit
Instant
Deposit in-kind: WBTC when signal=ABOVE, USDC when signal=BELOW. Receive vpBTC shares instantly. Entry fee: 0.10%. No swap on deposit.
Withdraw
Instant (in kind)
redeemInKind: withdraw pro-rata USDC + WBTC instantly. No swap, no slippage, no fee. Always works, even when paused.
Rebalance
Daily (keeper)
The keeper rebalances WBTC/USDC daily to match the MA(45d) signal. Swaps only on signal flip (~13x/year) via multi-hop routing at 0.10% fee. 1-day minimum interval.
Risks
This is experimental software. Understand the risks before investing.
High
Trend-following risk

The MA(45d) signal may lag during sharp reversals. In choppy, sideways markets the strategy can whipsaw — flipping between BTC and USDC repeatedly, incurring swap costs without capturing trend. Past backtest performance does not guarantee future results. You can lose money.

Medium
Rebalance swap cost

Each signal flip costs ~0.10% in multi-hop swap fees (USDC→WETH→WBTC, 0.05%+0.05%). With ~13 flips/year, annual swap drag is ~1.3%. In choppy markets, flips may increase. 10% drift gate and 1% max slippage protect against excessive trading.

Mitigated
WBTC depeg risk

Mitigated by in-kind model — all deposits and withdrawals are in-kind (pro-rata USDC + WBTC). No oracle-priced USDC payout that could create insolvency during a depeg. The vault never needs to sell WBTC at a depegged price.

Medium
Keeper risk

If the keeper stops, the vault cannot rebalance or update the SMA buffer. Users can always exit via redeemInKind regardless of keeper status. Withdrawals always work, even when the vault is paused.

Contracts
All contracts are verified on Arbiscan. Source code is fully readable on-chain.
DeltaVault 0x3034E68Ecc4e5B133a148d7D8c9F5c2Cf2a2EF12
Network Arbitrum One (Chain ID: 42161)
Token vpBTC — Value-Protected Bitcoin (ERC-20)
Holdings USDC (native) + WBTC
Strategy Parameters
StrategyBinary MA(45d) — 100% BTC above SMA, 0% below
SMA Window45-day on-chain ring buffer (no oracle contract)
Price OraclePyth BTC/USD (MAX_PRICE_AGE = 120s)
RebalanceDaily (1-day minimum interval, keeper-triggered)
Swap RouteUSDC → WETH → WBTC (0.05%+0.05% = 0.10%)
Drift Gate10%
Streaming Fee0.5% / year
Entry Fee0.10%. No exit fee.
Slippage Guard1% max per rebalance swap
DepositsIn-kind only (WBTC when weight=100%, USDC when weight=0%)
WithdrawalsredeemInKind — pro-rata USDC + WBTC, no fee, always available
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.

            
Security Audit
The DeltaVault contract passed 3 rounds of security audit by 15 specialist agents. All formal invariants hold. All economic attacks verified unprofitable.
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.
PASSWBTC depeg risk mitigated. In-kind deposits and withdrawals (pro-rata USDC + WBTC). No oracle-priced USDC payout means no insolvency risk during a depeg.
PASSredeemInKind always works, even when paused. Emergency exit path is never blocked.
PASSSMA computed on-chain. No external oracle contract dependency. 45-entry ring buffer is fully transparent and verifiable.
PASSEntry fee (0.10%) protects existing holders. Fee stays in vault. No exit fee.
PASSOwner cannot steal funds. All critical parameters are immutable constants burned into bytecode.
PASSRebalance swap cost minimized. Multi-hop USDC→WETH→WBTC at 0.10% total fee. 10% drift gate prevents unnecessary swaps.
PASSAll formal invariants hold. Share price monotonicity, pro-rata fairness, fee accrual correctness verified across all edge cases.
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 trend-following vault (DeltaVault / vpBTC) deployed on Arbitrum. Strategy: binary MA(45d) — 100% BTC when price > SMA(45d), 0% (USDC) when below. SMA computed on-chain from a 45-entry daily price ring buffer. Deposits are in-kind only (WBTC when weight=100%, USDC when weight=0%). No swap on deposit. 0.10% entry fee. Withdrawals via redeemInKind: instant pro-rata USDC + WBTC, no fee, always works even when paused. Daily keeper rebalance with multi-hop swap USDC-WETH-WBTC (0.10% fee). 10% drift gate, 1% max slippage. 0.5% annual streaming fee. Pyth oracle for BTC/USD (MAX_PRICE_AGE=120s). Please audit for: (a) any way to steal funds or extract more than your fair share, (b) flash loan attack vectors on redeemInKind, (c) whether the owner can rug users, (d) MEV/sandwich risks on daily rebalance swaps, and (e) rate its overall production readiness from 1-10 with the single biggest risk.