Skip to main content

Backtesting and Validation

This page reports the current validation evidence for Cardinal's launch model: historical replay, stress simulation, product-specific test vectors, charting-tool parity.

Scope

DimensionCurrent launch scope
ProductsCarry Perp and Negative Rate Hedge
MarketssUSDe<>USDT, wstETH<>WETH; plus weETH<>WETH, rsETH<>WETH (new ETH markets on the shared wstETH pool)
LP architectureLP-intermediated pools; the three ETH markets (wstETH, weETH, rsETH) share one wstETH pool
Market dataAave V3 historical lending, borrow-rate, and loop-yield data
Product charting data refreshThrough June 3, 2026

Launch Parameters

These constants are fixed at launch. Values are shown per market; the evidence that justifies each group follows the table.

Negative Rate Hedge

ParametersUSDewstETH
Expected Claim Rate expected_claim_rate0.249%0.218%
LP Profit Factor lp_profit_factor0.500.50
Premium basisexpected negative-carry claims × (1 + lp_profit_factor) / 0.90expected negative-carry claims × (1 + lp_profit_factor) / 0.90
Coverage leverage L1x10x1x10x
Premium routing (LP / treasury)90% / 10%90% / 10%
Payout ramp to full coverage30 days30 days

Each tick the buyer pays the actuarially-fair cost of the coverage they hold, expected negative-carry claims × (1 + lp_profit_factor) / 0.90, which scales with coverage leverage L and is charged continuously while the policy is open (expected_claim_rate × L × (1 + lp_profit_factor) / 0.90 is a calm-window floor reference; expected_claim_rate is set per market from how often that market's loop carry has historically gone negative). The previous current-carry band is not used as a hard launch pricing cap because it can underprice policies exactly when negative-carry claims are being generated. Pricing the premium to expected claims plus a load keeps the LP underwriting margin positive after the 90/10 LP/treasury split. lp_profit_factor is defined LP-net: with lp_profit_factor = 0.5 the LP retains a +50% margin over expected claims after the 10% treasury routing, so the buyer-gross premium is expected claims × (1 + lp_profit_factor) / 0.90. In the Track C historical replay the LP's net insurance result was positive in both markets (+2.31% sUSDe / +0.93% wstETH). Coverage leverage, the 90/10 routing, and the 30-day ramp were exercised by nine launch test vectors (tv10–tv18), all passing with zero invariant breaches, i.e. the policy accounting never broke its rules: a policy's payout buffer never went negative, cumulative payouts never exceeded the yield credited into that buffer, and gas tanks never went negative.

Carry Perp

ParametersUSDewstETH
Global notional cap$76.8M$322.6M
Shadow-drawdown scale s_L6565
Launch top tier5000x15000x
Performance fee35%35%
Liquidation triggersequity < 5% of deposit, or shadow drawdown deposit(same)
Entry feemax(0, carry) × notional / (365.25 × 24)(same)

Build Plan V3 sets s_L = 65 at launch for both markets (raising wstETH from the PR38 60 to match sUSDe). The launch-tier calibration establishes the kill gradient, every position eventually liquidates (a 2–3 day median life at the top tier), with the LP net positive per cycle.

LP pool

ParametersUSDewstETH
Loop leverage5 loops (3.05×, 75% LTV)5 loops (4.34×, 93% E-Mode)
Pause / resume threshold (NAV drawdown)10% / 3%10% / 3%

The pool runs a fixed 5 loops (five supply tranches at each market's LTV), which sets effective leverage at 3.05× (sUSDe) and 4.34× (wstETH); at these settings the historical replay earned a mean loop APR of 10.97% / 5.16%. Leverage is quoted as effective × because the same loop count yields different leverage at different LTVs. The pool deliberately does not loop further: each additional loop adds gas, slippage, and liquidation-proximity risk, so users who want more leverage take it synthetically through the Carry Perp rather than the LP running a riskier loop. The pool auto-deleverages if peak-to-trough NAV falls past 10% and redeploys once it recovers to within 3%.

weETH and rsETH run the same WETH-borrow loop on the shared wstETH pool. In the current rate regime their loop carry is thin (LST staking ≈ WETH borrow, the same near-zero spread wstETH shows recently), so the loop-yield contribution is minimal and any restaking-points / airdrop value is excluded from these figures. The markets' value is hedge demand (Negative Rate Hedge) and synthetic leverage (Carry Perp); the main added risk is shared-pool concentration across three correlated ETH LSTs borrowing the same WETH. Full shared-pool validation (capacity and correlated-depeg stress) is in progress (labs/product_calculator/new_markets_tier1_2026-06-25.py).

Actor Outcomes

Projected profit/loss by actor across three regimes. LP and Carry-Perp cells are drawn from the replay / stress / calibration tables; the Hedger cells use the current cost-covering premium and the replay claim rows.

ActorBenign (rates stay positive)Negative-rate eventSevere depeg
LPintegrated launch-scope ROE (loop gross + NRH net + Carry Perp genuine cash): +11.33% / +7.02%+10.15% sUSDe / -2.31% wstETH annual ROE (full-config stress)breach risk (-6.29% wstETH at a 20% depeg)
Hedgerpays the streaming premium, collects ~nothing → net cost ≈ premiumthe policy pays out → net gainorderly settlement, forced-close, 0 LP breaches
Carry-perp usernegative expected value (the LP captures $159.95 / $186.59 per $100 deposit); ~10% (sUSDe) to ~19% (wstETH) ever peak above 2x before liquidationrational users are not expected to open new Carry Perp positions into negative carryunaffected, separate margin

Hedger sizing example. In the current sUSDe charting replay, a $1M-notional policy at L = 5 prices near $28.6k/yr under the LP-net expected-claims × (1 + lp_profit_factor) / 0.90 formula. In a mature 30-day stretch where carry sits near −2%, that same policy receives on the order of $8k in claims before buffer constraints, so the buyer is net-positive over the event and net-cost in calm periods.

Executive Summary

AreaResult
LP return viewIntegrated launch-scope LP ROE = loop yield (gross) + NRH (net of claims) + Carry Perp genuine cash edge: sUSDe 11.33%, wstETH 7.02%. Carry Perp uses the LP's direct synthetic cash P&L (deposit kept on liquidation; the accrued carry and perf fee inside the captured equity are paper MTM, never cash). Legacy Track C decomposition (7.44% / 3.13%) retained below for provenance.
Carry Perp calibration5,000 trials per launch tier; day-2 liquidation: 68.80% sUSDe and 41.80% wstETH; LP net per $100 user deposit: $159.95 sUSDe and $186.59 wstETH
Negative Rate Hedge validation9 launch-scope test vectors passed; 9 replay rows produced 0 simulator-enforced invariant breaches; 144 pricing-study runs produced 0 invariant-breach forms
Stress simulation11 scenarios x 20 trials x 2 markets; historical-bootstrap rows show 0% breach rates; depeg, drift, and sustained-negative-carry rows identify launch-control cases

Confidence levels classify current evidence coverage and remaining implementation work.

Confidence areaCurrent confidenceBasisRemaining validation
Historical replay outputsMedium for launch-scope LP projection, high for source artifact integritycommitted replay artifacts, schema checks, hash verification, and per-pool result tablesfresh Build Plan V3 two-product replay and final benchmark ratification
Product accounting invariantsHigh for launch-scope simulator cases9/9 Negative Rate Hedge test vectors passed; 0 invariant breaches across replay rowscontract-level implementation tests
Carry Perp launch calibrationHigh for replayed launch tiers5,000 trials per tier and positive LP net per cycle in both launch marketslive rollout monitoring against waitlist demand and LP capacity
Stress characterizationMedium-high for scenario measurement440 total scenario trials across both markets and explicit breach-rate reportingproduction control validation for depeg, drift, and emergency paths
Production launch readinessMedium until pre-launch items closereplay, stress, and simulator evidence is available; implementation evidence remains openhourly production carry/TWAP validation, external audit, governance parameter bounds, operational controls, user disclosures, force-close-on-Emergency logic, wstETH depeg-ladder parameterization

Validation Summary

Evidence surfaceCount / sampleResult recorded
Historical LP replay2 launch pools0 historical LP principal breaches
Stress simulation11 scenarios x 20 trials x 2 marketsbreach rates reported by scenario below
Carry Perp calibration5,000 trials per launch tierpositive LP net per cycle in both launch markets
Negative Rate Hedge test vectors9 launch-scope vectors9 pass / 0 fail
Negative Rate Hedge replays9 replay rows0 simulator-enforced invariant breaches
Pricing study144 pricing runs0 invariant-breach forms

Historical LP Replay

Historical replay runs the launch configuration against observed Aave V3 rate paths. ROE is annualized LP return on equity. The integrated LP return is the sum of three separate cash streams, each counted exactly once:

  1. Loop yield (gross): carry the LP earns on its own deployed capital.
  2. Negative Rate Hedge: premium net of claims (cost-covering, LP-net after the 90/10 split).
  3. Carry Perp: genuine cash edge, recomputed from the LP's direct synthetic cash P&L, not a broad fee fraction: the LP keeps a liquidated user's deposit and returns the equity of the rare horizon survivors. A position's accrued carry and its perf fee live inside that equity and are the LP's short-side paper MTM (the LP is counterparty to the user's leveraged carry bet); that MTM is extinguished at the kill and is never LP cash, so it is excluded. It is also not loop carry, so there is no loop double-count. At ~100% liquidation the genuine cash ≈ the forfeited deposit.

This is why the combined is neither the naive sum of the gross bars (which would double-count the paper MTM) nor a loop-net subtraction (which over-removes loop carry the LP keeps). The mean loop APR (10.97% / 5.16%) is the raw loop return over the Track C window; the launch loop leg below is the charting-tool rolling-year loop yield.

PoolVenue daysReplay daysPaused daysMean loop APRIntegrated LP ROEMax drawdownLP principal breaches
sUSDe597297010.97%11.33%-1.13%0
wstETH1,11181105.16%7.02%-0.45%0

Integrated LP ROE by stream (annualized contribution). Carry Perp is the genuine cash edge = the Carry Perp anchor × the direct-cash ratio genuine_cash / (fee + capture), where genuine_cash is the deposit kept on liquidation net of survivor payouts (the accrued carry and perf fee inside the captured equity are paper MTM): sUSDe 3.17% × 0.625 = 1.98%; wstETH 1.83% × 0.536 = 0.98%.

PoolLoop yield (gross)Negative Rate HedgeCarry Perp (genuine cash)Integrated LP ROE
sUSDe7.71%1.63%1.98%11.33%
wstETH4.32%1.72%0.98%7.02%

These contributions are LP-net of the 10% treasury routing. Idle-cash drag was negligible (0 paused days in both replays) and realized defaults were zero (the 0 LP principal breaches recorded above). Operating costs beyond the treasury split are not modeled here.

Legacy Track C anchor decomposition is preserved below for provenance. It uses older Track C product anchors and excludes the non-launch perpetual-spread-options line from launch scope. Full-config is shown only for reference.

PoolTrack C loop-net legNegative Rate HedgeCarry PerpTransitional launch-scope estimatePerpetual spread options (non-launch)Full-config ROE
sUSDe2.62%2.31%2.51%7.44%16.97%24.41%
wstETH1.29%0.93%0.91%3.13%7.17%10.30%

This applies the 2026-06-08 decisions: NRH lp_profit_factor is LP-net after the treasury split, NRH capacity is the entitlement-share rule (not the Track C operating anchor), and the Carry Perp leg is the genuine cash edge (paper MTM stripped). The integrated engine sums the three streams once each, so the loop↔Carry-Perp double-count and the loop-net over-subtraction are both resolved. A full two-product replay would still tighten the Carry Perp genuine-cash fraction and the (negligible at ~100% liquidation) horizon-survivor adjustment.

Pool P&L below is full-config (it includes the non-launch perpetual-spread line); the transitional launch-scope pool P&L is the Negative Rate Hedge + Carry Perp + loop-yield columns.

PoolCumulative writtenOutstanding at endPool P&L (full-config)Treasury accrued
sUSDe$326.8M$96.8M$1.99M$196.9K
wstETH$874.9M$82.8M$2.29M$222.3K
PoolPerpetual spread P&L (non-launch)Negative Rate Hedge P&LCarry Perp P&LLoop-yield P&L
sUSDe$1.38M$187.9K$203.9K$213.5K
wstETH$1.59M$206.4K$201.4K$286.8K

Capacity and Pool Size

LP ROE does not hold flat as the pool grows (labs/product_calculator/capacity_curve_2026-06-25.py). Two saturations act together:

  • Loop leg. The pool runs the Aave V3 loop, borrowing USDT (2.05× TVL, sUSDe) or WETH (3.34× TVL, wstETH). That borrow raises the reserve's utilization and variable borrow rate, compressing loop carry. The rate is modeled with the Aave two-slope kink IRM anchored to current depth (slope1 set to reproduce today's rate; slope2 from the reserve's own above-kink history; supply held fixed, which is conservative). At current depth (USDT $3.6B supplied at ~80% utilization, WETH $5.5B at ~89%) the loop can deploy at most ~$269M (sUSDe) and ~$100M (wstETH) at full launch leverage before utilization reaches 95%.
  • Negative Rate Hedge and Carry Perp legs. These are funded by user demand, not by pool size, so their per-NAV contribution scales as ref × (REF_TVL / TVL) (demand-bounded; pessimistic if demand grows with the protocol).

LP ROE versus pool TVL, anchored to the $10M integrated headline:

Pool TVLsUSDe ROEwstETH ROE
$10M11.3%7.0%
$50M8.2%3.9%
$100M7.5%2.3%
$250M0.8%~0%
$500M+loop past ceilingloop past ceiling

The demand-bounded legs fall fastest at small size; loop compression dominates near the ceiling. The wstETH pool saturates earlier because it borrows more per unit TVL into a WETH market already near its utilization kink. Beyond these sizes the pool must lower loop leverage, trading yield for capacity, or cap deposits.

Carry Perp Calibration

Window note. These figures come from the launch charting-tool calibration: the Carry Perp Monte Carlo runs on each market's realized loop carry through 2026-06-03, at the Build Plan V3 launch s_L = 65 for both markets. They match the same configuration the interactive charting tool exposes (link above), so the numbers here are what reviewers see live. The carry series is the realistic loop spread (lst_yield − borrow), which includes the historical negative-rate days.

Carry distribution inputs:

MarketData windowCarry daysMean carryMedian carryMin carryPositive-day shareInactive negative-entry share
sUSDe2024-07-28 to 2026-06-036761.00%0.82%-21.19%69.82%30.18%
wstETH2023-03-01 to 2026-06-031,1910.50%0.43%-19.52%92.36%7.64%

Launch-tier simulation outputs:

MarketLaunch tiers_LTrialsTotal liquidationDay-2 liquidationMedian liquidationCrossed 2x before liquidation
sUSDe5000x65.05,000100.00%68.80%2 days10.44%
wstETH15000x65.05,000100.00%41.80%3 days18.88%

s_L = 65 is held common across both markets per Build Plan V3. The PR38-era ≥ 60% day-2 liquidation aspiration is met at sUSDe (68.80%) but not wstETH (41.80%, 3-day median); wstETH's slower kill gradient is the consequence of the common V3 s_L; every position still fully liquidates and the LP is net positive per cycle.

LP economics per $100 user deposit, over a position's full lifecycle (a 2–3 day median to liquidation), from the 5,000-trial calibration on each market's carry distribution shown above:

MarketLP feeLP liquidation captureLP net
sUSDe$21.24$138.70$159.95
wstETH$30.38$156.21$186.59

Adversarial Carry Perp Trader

The calibration above holds every position to liquidation or horizon. Because the LP's Carry Perp cash edge is the deposit kept on liquidation, a trader who closes a winning position early withdraws equity the LP would otherwise have captured. Re-running the calibration under three exit policies, with entry sampling, leverage, s_L, and the carry series held identical (labs/product_calculator/adversarial_trader_2026-06-25.py), measures that channel. The ride baseline reproduces the calibration (100% liquidation; day-2 68.8% / 41.8%; peaked-2× 10.4% / 18.9%).

LP cash per $100 deposit, per cycle (fees + deposit − payout):

Exit policysUSDewstETH
ride: hold to liquidation (baseline)$121$130
profit_take at : realistic, no foresight$96$87
clairvoyant: perfect exit timing−$19−$29

A plain take-profit rule cuts the LP's per-cycle Carry Perp cash by 21% (sUSDe) and 33% (wstETH), trimming the Carry Perp contribution to integrated LP ROE from 1.98%1.56% and 0.98%0.65%. Perfect-information exit timing drives the LP's Carry Perp cash negative; the leg's positive economics depend on traders not timing exits. The loop-yield and Negative Rate Hedge legs are unaffected, so integrated LP ROE stays positive (~10.9% / ~6.7% under the realistic rule), but the Carry Perp edge is the fragile component.

Stress Simulation

Stress simulation parameters:

ParametersUSDewstETH
Scenarios1111
Trials per scenario2020
Days per trial800800
Scenario trials220220
Pause threshold10%10%
Resume threshold3%3%
R1 percentile90%90%
R5 fee routing20%20%
R5 target fraction15%15%

Breach rate is the share of the 20 trials in a scenario with at least one LP principal-breach event.

ScenariosUSDe mean ROEsUSDe mean DDsUSDe breach ratewstETH mean ROEwstETH mean DDwstETH breach rate
historical_bootstrap10.81%-1.98%0%5.04%-0.87%0%
fat_tail_2x12.38%-1.91%0%5.10%-0.92%5%
fat_tail_5x17.78%-1.49%0%6.27%-0.77%5%
fat_tail_10x25.95%-2.26%30%9.25%-0.64%5%
regime_shift_mid11.39%-9.25%35%5.50%-4.16%20%
sustained_neg_carry_30d10.63%-2.29%0%5.05%-1.40%5%
sustained_neg_carry_90d10.15%-1.86%0%-2.31%-9.08%100%
sudden_depeg_10pct4.50%-6.67%100%-3.00%-9.55%100%
sudden_depeg_20pct2.23%-8.42%100%-6.29%-12.94%100%
sudden_depeg_30pct0.29%-9.64%100%-8.92%-16.54%100%
slow_drift_180d8.11%-3.47%65%-4.74%-9.54%100%

What a breach measures

A breach in these tables is a per-policy event: a single Negative Rate Hedge policy pays out more than it collected, so that policy's own book turns negative. It is not a loss of LP principal. Payouts are bounded by available pool NAV, so LP principal is never drawn to honor a policy; the pool absorbs the shortfall from loop yield and the rest of the book.

Read that way, the depeg column is the hedge doing its job. A depeg is exactly when the Negative Rate Hedge is meant to pay, so across the ladder (10% / 20% / 30%) at least one policy pays out in every trial and the breach rate sits at 100%. The cost shows up as margin compression, not principal loss: in those same trials the LP pool stays net-positive (+4.5% / +2.2% / +0.3% ROE on sUSDe) with peak-to-trough drawdown inside the 10% pause band (6.7% / 8.4% / 9.6%). The historical replay records 0 such events; they appear only under the synthetic depeg shocks. wstETH also reaches 100% under sustained_neg_carry_90d and slow_drift_180d; sUSDe stays at 0% through the sustained-negative-carry rows.

The bounds that keep principal whole are specified elsewhere on this page: pool-bounded payouts, the 10% / 3% NAV pause-and-deleverage gate, and emergency-tier force-close.

Targeted Stress-Test Scenarios

The scenarios below map specific platform risk vectors to the mechanism that responds to each. Quantitative breach rates for the market scenarios are reported in the Stress Simulation table above.

ScenarioTriggerSystem response
Collateral or asset depegA loop collateral or borrowed asset loses its peg, widening the loop's mark-to-market loss.The pool auto-deleverages once peak-to-trough NAV passes 10%. Negative Rate Hedge payouts are capped by available pool NAV, so delivered coverage compresses. Emergency tiers force-close affected positions in an orderly settlement (adversarial replays s6, s7).
Sharp borrow rate spikeThe Aave borrow rate rises sharply and loop carry turns negative.Negative Rate Hedge positions pay from their accrued buffers. Carry Perp equity drains through the shadow-drawdown accumulator toward the liquidation triggers. The pool deleverages if NAV drawdown passes 10%.
Sustained negative carryLoop carry stays negative across an extended window.Hedge buffers drain and payouts compress to the buffer and available pool NAV. The streaming premium continues to refund the reserve. Positions whose gas tanks empty lapse, with forced closes settling in order (adversarial replay s5). Carry Perp positions liquidate as shadow drawdown reaches the deposit.
Oracle staleness or anomalyThe carry feed is stale or returns an anomalous reading.Settlement runs hourly on a gross-carry input rather than a per-block spot read. Premium continues to debit through a stale oracle and settlement resumes from the next valid reading (test vector tv18).
Aave venue health degradationThe Aave V3 health factor on the LP loop falls below threshold.The worker auto-deleverages the loop to reduce exposure and redeploys only once NAV recovers to 3% below peak.
Mass LP exodusA large share of LPs request withdrawal at once.Withdrawals are served only from free_NAV, the NAV not committed to open positions, hedge rights, and pool safety gates. Each request runs a 7-day cooldown. Capacity committed to open Carry Perp and Negative Rate Hedge obligations stays locked.
Spike in high-leverage Carry Perp demandCarry Perp open interest rises quickly and concentrates in high-leverage tiers.New notional is bounded by the per-market global notional cap ($76.8M sUSDe, $322.6M wstETH). Committed capacity reserves backing for open positions. The shadow-drawdown kill gradient liquidates top-tier positions on a 2 to 3 day median life, with the LP capturing remaining equity.
Regulatory and jurisdictionOperating requirements differ across the testing and launch phases.Pre-launch testing operates under a Panama entity. The production launch operates under a Cayman entity.

Correlated Stress

The stress table above varies one factor at a time; a real tail event is the concurrence of several. A transparent leveraged-loop NAV model (labs/product_calculator/correlated_stress_2026-06-25.py, complementary to the harness table rather than a re-run of it) applies shocks jointly: a leveraged depeg mark-to-market loss, a borrow-rate spike, and sustained negative carry, with the 10% / 3% pause-deleverage gate active.

Here breach is read at the pool level: the share of paths where the LP pool's own NAV ends more than 5% below its principal. This is stricter than the per-policy hedge breach above, where principal is protected; a collateral depeg is a direct, leveraged mark-to-market loss the safety gates can dampen but not undo. 400 trials per scenario, shock timing randomized.

ScenariosUSDe breachwstETH breachsUSDe ROEwstETH ROE
2% depeg, alone0%37%+13.9%+1.9%
+10% borrow spike (120d), alone0%39%+13.4%~0%
sustained −2% carry (120d), alone0%0%+17.0%+9.0%
all three jointly2%46%+9.9%−0.4%
borrow ~35% held 6 months, alone66%100%−5.0%−14.8%
severe cascade (depeg + borrow + sustained)100%100%−23.2%−40.2%

Two readings, both about known edges rather than baseline behavior. First, a sustained high-borrow regime the historical window never contained (borrow ~35% for six months) is on its own enough to pull the pool below principal in most paths (66% sUSDe, 100% wstETH); this is the regime a backward-looking calibration cannot price. Second, the severe cascade is the protocol's worst-case corner: a large depeg, a borrow explosion, and sustained negative carry at once put every path below principal at mean ROE −23% / −40%. The individually survivable single-factor rows confirm the gates absorb ordinary stress; the pool is exposed only at the extreme combined tail, which wstETH (loop leverage 4.34× vs 3.05×) reaches sooner.

Negative Rate Hedge

Launch-scope test vectors:

VectorCaseStatusInvariant breaches
tv10top-up, no state changePASS0
tv11voluntary close returns gas tankPASS0
tv12forced close emergencyPASS0
tv13premium floor / load accountingPASS0
tv14cost-covering premium covers expected claimsPASS0
tv15premium debits through negative-carry periodsPASS0
tv16perpetual, no rollover at day 180PASS0
tv17lapse on empty gas tankPASS0
tv18premium debits during stale oraclePASS0

Pricing basis note. The current charting branch prices NRH from expected negative-carry claims times (1 + lp_profit_factor) / 0.90, charged continuously while the policy is open. expected_claim_rate (0.249% sUSDe / 0.218% wstETH) remains a market-specific floor / calibration reference.

Historical replay summary:

ReplayDaysRequested policiesAdmitted policiesRejected policiesClaims paidPremium earnedNAV changeForced closesInvariant breaches
historical_susde67632320$50.9K$38.3K+17.84%00
historical_wsteth1,22056452$0.0K$0.0K-14.64%00

Adversarial replay summary:

ReplayRequested policiesAdmitted policiesClaims paidPremium earnedNAV changeForced closesInvariant breaches
s1_single_30d2020$58.2K$17.6K+4.01%00
s2_two_30d_6mo_apart3232$116.8K$40.0K+5.30%00
s3_two_30d_1yr_apart4040$197.5K$66.5K+7.67%00
s4_four_30d_stacked3636$137.4K$46.7K+2.78%00
s5_sustained_12mo4024$62.5K$14.9K-0.73%20
s6_depeg_crisis_orderly_settlement2420$62.0K$13.6K-0.25%70
s7_emergency_tier4_force_close2020$57.3K$13.6K+2.99%30

Replay totals:

ReplaysRequested policiesAdmitted policiesClaims paidPremium earnedForced closesInvariant breaches
9300228$742.7K$251.2K120

Pricing study note:

The May 27 pricing study remains useful as historical mechanism evidence, but its variable-band forms are superseded for the premium formula decision. The current charting branch prices policies from expected negative-carry claims times (1 + lp_profit_factor) / 0.90, then routes premium 90/10 to LP/treasury. Do not use the old pricing-study "LP ok vs baseline" column as direct underwriting-margin evidence for the launch formula.

Charting Tool

The launch economics are explorable interactively in the Charting Tool (the product calculator at cardinal-product-calculator.vercel.app), now its own page in this Data Room.

Measurement Boundaries

Result classBoundary
Historical replayObserved Aave V3 rate paths during the stated windows
Stress simulationSpecified scenario parameters and 20 trials per scenario; shocks are applied one factor at a time; joint-shock results are in Correlated Stress above
Carry Perp calibrationLaunch-tier replay artifacts and 5,000 trials per tier; representative entry timing; the perfect-information exit bound is in Adversarial Carry Perp Trader above
Negative Rate Hedge testsLaunch-scope vectors and replay rows in the referenced artifacts
LP yieldComputed at the stated launch notional caps; the ROE-versus-TVL curve is in Capacity and Pool Size above
Live deploymentRealized rates, LP participation, user demand, liquidity depth, and production controls

The projections on this page hold under the assumptions below. Conditions outside them are characterized only by the stress scenarios above, not by the launch-scope return figures.

  • Carry distributions and expected_claim_rate reflect the stated historical windows.
  • Aave V3 supply, borrow, liquidation, and withdrawal behave within their historical parameters.
  • The hourly carry / TWAP oracle settles within its stated cadence.
  • Loop deleveraging executes at or near quoted rates.
  • Depegged assets stay within the modeled depeg ladder.
  • LP withdrawals are bounded by the 7-day cooldown and the free_NAV gate.

Evidence Package

All artifact paths below live in the Cardinal /research repo.

Evidence areaArtifact root
Historical LP replayoutput/phase4_track_c_historical_2026-04-21/
Stress validationoutput/phase4_track_c_combined_2026-04-21/
Carry Perp launch-tier calibrationlabs/product_calculator/ and output/product_calculator/data.json (charting-tool MC, s_L = 65)
Negative Rate Hedge replay and test vectorsoutput/negative_rate_hedge_per_policy_2026-05-27/
Negative Rate Hedge pricing studyoutput/negative_rate_hedge_pricing_study_2026-05-27/
Product charting tooloutput/product_calculator/ and labs/product_calculator/
Capacity / TVL curveoutput/capacity_curve_2026-06-25/ and labs/product_calculator/capacity_curve_2026-06-25.py
Adversarial Carry Perp traderoutput/adversarial_trader_2026-06-25/ and labs/product_calculator/adversarial_trader_2026-06-25.py
Correlated / joint-shock stressoutput/correlated_stress_2026-06-25/ and labs/product_calculator/correlated_stress_2026-06-25.py

Reviewer Commands

python3 labs/benchmarks/check_artifact_schemas.py
python3 labs/benchmarks/verify_participant_econ_v6_artifacts.py
python3 -m unittest tests.test_product_calculator_guardrails
python3 labs/product_calculator/capacity_curve_2026-06-25.py
python3 labs/product_calculator/adversarial_trader_2026-06-25.py
python3 labs/product_calculator/correlated_stress_2026-06-25.py