CLP Revenue Simulation
Revenue streams annualized, at current knobs
Costs annualized, actual cash drag
Vault scaling current knobs, varied vault size
| Vault | Max OI | Gross APY | LP APY |
|---|
Sensitivity ±10% on each knob
| Knob | −10% | Current | +10% |
|---|
Solver-side economics (CLP vault only). Does NOT include front-end trading fee or Carbon treasury revenue — those are modeled separately in the holistic fee view. Click any card to load it in the Simulator tab for tweaking.
| Vault | Max OI | Gross APY | LP APY |
|---|
| Knob | −10% | Current | +10% |
|---|
Carbon's turnover defaults benchmarked against 6 comparable on-chain perp DEXes. Source: DeFiLlama AI Terminal, run 2026-04-25. Window: 90 days through Apr 25, daily granularity.
Carbon's turnover assumption isn't a guess. The simulator's Base default of 0.75 matches Ostium's 90-day median (0.755) — the closest RWA-native comparable — and sits just below Variational's 1.03 (RFQ-based RWA perp). The cross-peer median of 1.39 is pulled up by reward-incentivized CLOBs (Lighter 2.75, dYdX v4 2.55) that don't represent organic RWA flow.
No simulator default needs material adjustment. The model is well-calibrated.
Six protocols selected to span the relevant comparison axes for Carbon (CFD-style perp DEX, RWA focus, RFQ + bilateral hedging architecture):
Three primary metrics requested: Open Interest (daily series), Daily Volume (series), Turnover Ratio (volume/OI computed daily). Liquidations attempted as stretch — DeFiLlama doesn't expose perp liquidation history, so that metric is unavailable from this dataset.
Data quality guardrails applied: known incentive programs flagged (HL, Lighter, dYdX v4, GMX v2 had active rewards during the window); only total volume available (not organic) — treat all turnover ratios as upper bounds on organic flow.
Hyperliquid dominates absolute OI ($6.83B 90-day median, left axis). Lighter and Variational cluster around $700M (right axis). Ostium runs at ~$225M but declining through the window. dYdX v4 and GMX v2 sit near the floor.
| Protocol | 90d median OI | Current | Trend |
|---|---|---|---|
| Hyperliquid | $6.83B | $7.66B | Up — bullish growth |
| Lighter | $718M | $708M | Stable, one mid-window spike to $1.36B |
| Variational | $691M | $658M | Stable, modest range $540M-$1.11B |
| Ostium | $225M | $140M | Declining from $339M peak |
| GMX v2 | $71M | $87M | Stable at floor |
| dYdX v4 | $67M | $74M | Persistent decline |
Daily volume divided by daily OI. The single most-important calibration number for the simulator.
| Protocol | 90d median turnover | Architectural fit to Carbon |
|---|---|---|
| Lighter | 2.75 | CLOB + incentives — wrong reference for RWA |
| dYdX v4 | 2.55 | CLOB + DYDX rewards — wrong reference for RWA |
| GMX v2 | 1.75 | LP-AMM + ARB incentives — partial reference |
| Cross-peer median | 1.39 | Pulled up by reward-incentivized CLOBs — not the right anchor for an RWA product |
| Variational | 1.03 | RFQ + RWA → anchors Carbon Bull (1.0) |
| Hyperliquid | 1.02 | Largest absolute OI ($6.8B) — whale-volume scale, not launch comparable |
| Ostium | 0.755 | RWA-native — market-fit twin → anchors Carbon Base (0.75) |
The right reference for Carbon is the RWA-native cluster: Variational + Ostium midpoint = 0.89. Carbon's stage-decay defaults sit in or just below this band:
| Carbon stage | Default turnover | vs RWA midpoint (0.89) | Verdict |
|---|---|---|---|
| Launch | 0.85 | -4.5% | ✓ Essentially matching |
| Growth | 0.80 | -10% | ✓ Within band |
| Base | 0.75 | -16% | ✓ Deliberately conservative; matches Ostium 90d median exactly |
| Bull | 1.00 | +12% | ✓ Sits between Variational (1.03) and Hyperliquid (1.02) |
| Bear | 0.50 | -44% | ✓ Above Ostium 90d MIN (0.019); plausible "demand softens" floor |
Why we're conservative on Base. Pre-launch product — the model should under-promise. Once we have 90 days of our own data we'll calibrate up if observed turnover supports it.
Why we ignore the cross-peer median (1.39). It's contaminated by Lighter and dYdX v4 — both CLOB venues with reward-incentivized scalper cohorts that don't represent organic RWA flow. Anchoring to the wrong reference would inflate our model.
Carbon Labs, "90-Day Perp DEX Benchmark," 2026-04-25. Source: DeFiLlama AI Terminal. Comparable protocols: Hyperliquid, Lighter, dYdX v4, Variational, Ostium, GMX v2. Window: 90 days through 2026-04-25, daily granularity.
Refresh cadence: Quarterly, or sooner if a new comparable launches (e.g., another RWA-native perp DEX) or major reward programs at Lighter/dYdX/HL end.
Parameter definitions, formulas, conventions, and assumptions for the solver vault side only. Front-end trading fees and Carbon treasury revenue are modeled in a separate (future) holistic fee view. This is the reference manual for everything in the Simulator tab.
When we say "5 bps spread markup," that is the full round-trip spread — a user opening and closing a $10K position pays $5 total in spread revenue. It is NOT doubled to 10 bps by counting open and close separately.
In the formula, daily_volume = avg_OI × turnover represents one leg (closes = opens in a balanced book). Applying the markup bps to this quantity captures the spread once per position cycle, matching CFD broker convention.
Turnover = 0.75/day means 75% of the book turns over each day — i.e., the average position duration is 1 / 0.75 ≈ 1.33 days. This is day-trader/scalp-heavy; retail CFD is typically 0.15–0.3.
Default setup (Tail = 0, Infra = 0, Insurance = 0) captures only cash outflows that hit the vault: rebalancing, VitaVerse commission. Soft costs (infra dollar drag, tail reserve, insurance) are analyzed separately per §4 of solver-revenue-model.md. Toggle the sliders above 0 to model them.
The solver opens an on-chain position against the user, then opens an equal and opposite position off-chain on VitaVerse. Net directional exposure = 0. Revenue comes from spread + overnight rate premium + liquidation CVA capture, not from price movement.
The solver sources the hedge fill from VitaVerse first, then quotes the user a price based on that fill. Any slippage on the VitaVerse leg is automatically baked into the user's price — the solver captures it as part of the spread. This is why hedge slippage is NOT a separate cost line.
Max_OI = Vault × OI_cap
OI cap is the product-level declaration (e.g., 8× vault = we're willing to run up to $8M of notional OI against a $1M vault). The implied solver leverage on off-chain margin is derived:
implied_solver_lev = OI_cap / off_chain_pct
Example: OI cap 8× at 50% off-chain → 16× implied solver leverage. Must stay below VitaVerse broker ceiling (~20× for stocks).
Spread revenue = Annual_volume × spread_bps × 10â»â´
Overnight rev = Avg_OI × overnight_OI_ratio × overnight_markup
Liquidation rev = Avg_OI × liq_rate × 12 × liq_capture
Buffer yield = Buffer_dollars × buffer_yield_pct (v2 upside, default 0)
Gross = sum of the above
Where:
Avg_OI = Max_OI × utilization
Daily_volume = Avg_OI × turnover (one leg — closes or opens, balanced)
Annual_volume = Daily_volume × 252
Rebalancing = rebal_k × 1000 (fixed $/yr)
Infrastructure = infra_k × 1000 (fixed $/yr, 0 by default)
VV commission = Annual_volume × commission_bps × 10â»â´
Tail reserve = Avg_OI × tail_pct (accounting reserve)
Total costs = sum of the above
Net revenue = Gross − Total costs
Insurance reserve = max(0, Net) × insurance_pct
LP distribution = Net − Insurance
LP APY = LP distribution / Vault
Not every liquidation generates CVA capture. Only gap-event liquidations (price moves past margin while market is closed/halted) return CVA to the solver. Intraday margin breaches return user collateral to the user; solver captures ~0.
Blended C = P(gap|liq) × E[CVA − gap | gap event]
Rough sizing: P(gap|liq) ≈ 30%, gap-event capture ≈ 1.5% → blended C ≈ 0.5%. Tail events (P99.9) can drive C negative for a month.
Same content as the info-icon tooltips on the Simulator tab, laid out in one place.