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, and commercial user discovery.

Scope

DimensionCurrent launch scope
ProductsCarry Perp and Negative Rate Hedge
MarketssUSDe<>USDT and wstETH<>WETH
LP architectureLP-intermediated pools, one pool per market
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
Premium floor breach_base0.249%0.218%
Premium load premium_load0.500.50
Premium basisexpected negative-carry claims × (1 + premium_load) / 0.90expected negative-carry claims × (1 + premium_load) / 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 + premium_load) / 0.90 — which scales with coverage leverage L and is charged continuously while the policy is open (breach_base × L × (1 + premium_load) / 0.90 is a calm-window floor reference; breach_base 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. premium_load is defined LP-net: with premium_load = 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 + premium_load) / 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
Effective loop leverage3.05×4.34×
Pause / resume threshold (NAV drawdown)10% / 3%10% / 3%

Loop leverage is the Aave V3 carry loop the pool runs on the LP's behalf; at these settings the historical replay earned a mean loop APR of 10.97% / 5.16%. The pool auto-deleverages if peak-to-trough NAV falls past 10% and redeploys once it recovers to within 3%.

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
Commercial user discoveryDirect institutional conversations indicate approximately $10M average covered position size, 6 months to 2 years position duration, and 20 immediately addressable targets

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, simulator, and user-discovery 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
User discoveryDirect institutional conversations$10M average covered position size discussed; 20 addressable targets identified

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%

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 premium_load 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

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 accepted consequence of the common V3 s_L, not a calibration failure — 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

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 + premium_load) / 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, which is the hedge working as intended.

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%

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 + premium_load) / 0.90, charged continuously while the policy is open. breach_base (0.249% sUSDe / 0.218% wstETH) remains a market-specific floor / calibration reference, but the old current-carry band is retired as a hard pricing cap because it can leave LPs below expected claims after the 90/10 routing split.

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 + premium_load) / 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 full economics — realized loop yield, Carry Perp liquidation behavior, and Negative Rate Hedge premium / buffer / payout — are explorable interactively:

cardinal-product-calculator.vercel.app

It runs the launch configuration on Aave V3 data through 2026-06-03 (sUSDe loop 3.05×, USD-denominated; wstETH loop 4.34×, ETH-denominated). Per-market parameters, coverage tiers, and stress behavior are all adjustable in the UI.

Commercial User Discovery

ItemObservation
Covered position sizeApproximately $10M average position size discussed with direct institutional users
Position duration6 months to 2 years
Immediately addressable targets20 institutional targets identified
Carry Perp rollout mechanismWaitlist signups during rollout preparation

Measurement Boundaries

Result classBoundary
Historical replayObserved Aave V3 rate paths during the stated windows
Stress simulationSpecified scenario parameters and 20 trials per scenario
Carry Perp calibrationLaunch-tier replay artifacts and 5,000 trials per tier
Negative Rate Hedge testsLaunch-scope vectors and replay rows in the referenced artifacts
Live deploymentRealized rates, LP participation, user demand, liquidity depth, and production controls

Evidence Package

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/

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