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.
LP returns are reported as APY — the effective annual return assuming daily compounding of vault revenue back into LP share value. This is the DeFi industry standard (Aave, Compound, Curve, GLP, HLP all quote APY). Simple APR is shown alongside as a smaller secondary number for those who prefer the un-compounded view.
Conversion: APY = (1 + APR / 365)^365 − 1. At a 45% APR, that's ~57% APY. Higher APRs benefit non-linearly from compounding (a 70% APR is ~101% APY). This is real economics — LPs who don't withdraw earn the APY rate over a year as their share value grows. The 48-hour withdrawal cooldown does not materially impact daily compounding.
Internal calculation: APR is computed first (linear annualization of daily revenue ÷ vault), then transformed to APY for display. This is faithful to how DeFi vaults actually accrue value.
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.