σ_ref, and you pay
realized min(IL, MaxIL) under the real measure. In calm markets that gap is your
yield. In a crash you pay the whole synchronized book. There is no version of selling
volatility that is also a savings account.
This page states the downside in the same breath as the upside and lets the quant
figures speak in raw numbers.
The one identity that governs everything
Every figure on this page falls out of a single monthly P&L identity. It makes the volatility-seller nature mechanical, not rhetorical: Premium comes in priced at the conservativeσ_ref; payout goes
out under whatever the market actually did. The edge is the spread between the two —
the volatility-risk premium — earned in calm months and given back in crashes.
When realized vol exceeds the implied vol you priced at, you lose. That is not a bug
to be tuned away; it is the definition of the business.
collateral = MaxIL ≥ payout by construction — and holds
regardless of how the depositor P&L moves. The depositor’s capital-at-risk (Claim B)
is the economic substance of being a vol seller. Neither claim implies the other. We
state them side by side at the bottom of this page.The model — deliberately harder than reality
The figures below come from the heavy run. We did not calibrate to a friendly model. We built one stronger than GBM on purpose, so the downside is stress-tested past the obvious questions:Fat tails — Student-t, t_df = 4
Fat tails — Student-t, t_df = 4
A 3-state Markov volatility regime
A 3-state Markov volatility regime
baseLoad keys off (0.20 / 0.30 / 0.50). Stress clusters, as
it does in reality.Tail-dependent crash correlation → 1
Tail-dependent crash correlation → 1
Poisson deep-crash months
Poisson deep-crash months
A lagging σ_ref
A lagging σ_ref
σ_ref so that coverage written at a
stress onset is underpriced exactly as it would be on-chain (vol lags the jump).
Measured payout/premium at onset = 1.14 — that residual is the
volatility-risk-premium the baseLoad must carry, not a
no-bad-debt risk.The headline figures — bare pool, unhedged, untranched
These are the single-asset bare pool numbers: before tranching, before the optional roadmap hedge, at base loads (calm/normal/stressed = 20/30/50%), gross of demand / competition / fees. Lead with the geometric 3y CAGR, never the arithmetic mean — and read the risk columns as the robust part of the result.3y CAGR — 122% median at u = 0.40 (50% / 247% at p10 / p90)
3y CAGR — 122% median at u = 0.40 (50% / 247% at p10 / p90)
P(losing month) ≈ 26.5% — roughly one month in four is red
P(losing month) ≈ 26.5% — roughly one month in four is red
u = 0.40 and u = 0.60) because it is a property of the measure
split, not of how much capital is deployed. It is not a flaw to be tuned away.1-in-100 month / worst month — the tail of a single bad month
1-in-100 month / worst month — the tail of a single bad month
u = 0.40, a 1-in-100 month is −20.1% and the worst observed across 50,000
runs is −26.8%. Both worsen materially at u = 0.60 (−30.1% / −40.1%). This
is the number a conservative depositor should anchor on — and it is exactly what
the senior tranche
exists to remove.P(3y DD > 50%) — the dominant drawdown lever is utilization
P(3y DD > 50%) — the dominant drawdown lever is utilization
u = 0.40 versus 18.0% at u = 0.60 — a near-7× swing from one
parameter. Utilization is the dominant drawdown lever (not a tail-feasibility
lever), which is why the util_skew prices new coverage up
before the pool over-commits.no bad debt ✓ — structural, on every single path
no bad debt ✓ — structural, on every single path
min(IL, MaxIL)/MaxIL ≤ 1.0 with max_payout_frac = 1.000000, zero
exceptions. The LP guarantee holds structurally
and oracle-independently even while the depositor P&L swings violently. This is
the cleanest demonstration that the two claims are separate: the depositor can
have a −27% month while the LP is paid in full, from pre-locked collateral.What the underwriting fund looks like under a severe correlated crash
The figures above are summary statistics; the shape behind them is a Monte Carlo distribution. These solvency visualizations show the underwriting fund’s per-run P&L and ruin behavior under a severe correlated crash — the regime where the single-pair book’s correlation has risen toward 1 and the whole book settles against one move. They are illustrative of the mechanism (collateral absorbs the bulk of loss; the fund taps only on rare tails), not a forecast.
Underwriting-fund P&L per Monte Carlo run under a severe correlated crash (50,000 runs). The median run is positive (the volatility-risk premium); the left tail is the crash months a depositor must be willing to absorb. The fund covers the modelled tail up to its equity.

More underwriter collateral → exponentially less fund ruin risk. The curve falls steeply in collateral ratio; the marked point is the ruin-budget crossing where P(ruin) meets the 0.1% budget.
MaxIL — the right-hand, flat region of this curve — which is why
no bad debt is structural for the LP regardless of where the
depositor P&L lands.

Across severity percentiles, the underwriter's posted collateral covers most of the LP loss; the fund only taps on the rare deep tail (P99.9).
The structural levers — how the targets are actually met
The bare pool fails the targets; the structure is the answer. Three levers, with honest status labels:Tranching is the launch lever
The dual-trancheConvexityVault is what turns one bare-pool
profile into two genuinely different products, at launch — not a roadmap promise:
Senior — the convexity savings account
sf = 0.60, u = 0.40: P(loss) = 0, worst month 0%, gross CAGR ~197%.
Structurally protected from underwriting loss while the junior buffer holds and
u ≤ 1 − sf. Smaller, smoother premium slice.Junior — the first-loss vol tranche
totalLocked ≤ juniorAssets, enforced
at every lockCollateral, so Σ payouts ≤ totalLocked ≤ juniorAssets ⇒ junior
absorbs all underwriting loss before senior is touched (see the
tranche math and the tranche product).
The hedge is roadmap, and it is tail-tightening — not solvency
There is a third lever — a pool-side options hedge — and we are precise about its role:- The frontier
- Why it is not solvency
u = 0.40:h = 0.60 the 1-in-100 month meets the ~−10% target, the worst month tightens
to −12.3%, P(DD>50%) goes to ~0% — and CAGR barely moves, at ~1.15× fair hedge
cost ($0.0227/mo).The mandatory disclosure tone
The quant did not just produce numbers — it fixed the exact language every depositor surface must use. This is verbatim, not paraphrasable:“You earn the volatility risk premium in calm markets and absorb losses in crashes. In FULL the pool cannot become insolvent and cannot be run, but YOUR CAPITAL IS NOT GUARANTEED.”The rules around it are equally firm:
Never 'stable' or 'modest APY'
Lead with geometric 3y CAGR
σ_ref floor of 0.50 sits above observed calm ETH vol
(~0.45), so the pool overcharges the ~27% of months that are calm. The heavy
run’s all-months realized payout/premium = 0.654 — i.e. over the full
distribution the pool collected materially more than it paid. The conservatism is
structural, not assumed.- Structures are present day-one. All five non-circular behavioral signals are defined and queryable from launch.
- Dynamics mature with volume. The richer signal — the pool-vs-MM spread read as a forward-vol indicator — only sharpens once multiple market makers compete and real flow accumulates.
- The dataset begins at the single redeploy, and the off-chain telemetry halves begin at the first interaction logged. History is served live from the subgraph via the API; if a backing (subgraph URL / RPC / telemetry) is absent, surfaces degrade to a typed
pendingstate — never an error.
What the adversarial audit confirmed
A 6-agent adversarial self-audit independently re-ran the engine and confirmed each load-bearing claim:No bad debt is structural — confirmed
max_payout_frac = 1.000000 across every path and the widened log-move grid.
min(IL, MaxIL)/MaxIL ≤ 1.0 always, independent of any oracle — the LP guarantee
(Claim A) does not depend on the depositor outcome.Infeasibility of the bare pool is robust — confirmed
The measure split is correct — confirmed
σ_ref; payout is paid under the real
measure. The edge is the (real) gap between them, not an accounting artifact.The model is net-conservative — confirmed
σ_ref floor 0.50 > calm vol 0.45 overcharges the 27% of calm months;
all-months payout/premium = 0.654. The pool errs toward depositor safety.σ_ref) and is honest about the part that is economic
(selling volatility is intrinsically high-variance, and no engineering makes a vol
seller low-risk). The dual-tranche structure does not hide that risk — it lets each
depositor pick a dose: senior for the convexity savings account, junior for the
high-APY vol tranche.
The two claims, stated side by side
This is the page where both load-bearing disclosures belong together. They are separate and must never be combined. The LP-facing guarantee is structural and oracle-independent — it holds regardless of how the depositor P&L moves: The depositor-facing reality is the opposite: capital is at risk for both tranches, junior first. The split, one more time: the LP’s no-bad-debt guarantee (Claim A) is structural —collateral = MaxIL ≥ payout by construction — and is
orthogonal to every pricing oracle and to the tranche split. The depositor’s
capital-at-risk (Claim B) is the economic substance of being a
volatility seller. Senior protection sits inside Claim B; it reduces, but never
eliminates, junior-then-systemic risk, and it never reaches across to the LP side.
Network: Arbitrum Sepolia · chainId 421614 · deploy block 274081134 (subgraph startBlock) · deployed 2026-06-05
Core protocol
Stylus & libraries
Oracles
Uniswap
Chainlink feeds
Demo tokens / pool / LP
Lifecycle swaps
0xb8bbd684f213d5833886ade7b531a6949d85522249881a2b5d46a5cc76e439c2):
- Path A (cvAMM convexity) — swapId 1, LP tokenId 3220 · V0 $270,531.28 · MaxIL $1,669.24 · premium $9.70 (0.58% of MaxIL) · settled payout $148.64 from ConvexityVault.
- Path B (MM routing) — swapId 2, LP tokenId 3221 · MM beat cvAMM ($8.93 vs $13.80) · MaxIL $3,215.65 · MM collateral locked $3,215.65 · settled payout $245.66 from MM collateral.
Where to go next
The tranche product in depth
seniorLoss provably 0.Earn — the depositor app
The load stack & the levers
baseLoad, util_skew, dispersion_skew, and the I10 clamp — where the
utilization drawdown lever lives.