System architecture
Four stages from venue data to settled position. The index is computed off-chain; the limits on it, the payout cap and signature checks are enforced by the contracts. The contracts are unaudited and deployed to Robinhood Chain Testnet.
Pipeline
Each component is marked with what exists today, not with what is planned.
- 1
Ingestion
Venue reads, every 15 seconds. Each source reports its own latency and health.
- Deribit option surface — BTC and ETH, all listed expiries, one request eachLive
- Derive option surface — BTC and ETH, the expiries around 30 days; the index's second venueLive
- Binance funding — premiumIndex, 8h intervalLive
- Hyperliquid funding — metaAndAssetCtxs, 1h intervalLive
- Lighter funding — the native leg: Robinhood Chain perps, unit-checked against Hyperliquid every roundLive
- 2
Analysis
The index is computed off-chain; the limits on it are enforced on-chain.
- C-VIX index engine — variance replication, 30-day constant maturity · core/cvix.tsLive
- Oracle dampener — ±20% per block, 5% step on a distrusted push · CVIXOracleDampener.solBuilt
- Dynamic skew engine — quadratic borrow rate with a depth floor · DynamicSkewEngine.sol — charged through a borrow indexBuilt
- FR-BASIS accrual — size × ΔFR × Δt ÷ 28800 into a carry index · PrismPerpSettlement.sol; per round on the paper venueBuilt
- 3
Execution
Signed intents are verified and queued off-chain, then settled in batches.
- Session keys — one wallet signature delegates a scoped, expiring key; orders then sign in the browser · /api/sessionLive
- Intent intake — EIP-712 verification, delegation, nonce, deadline, size, leverage and balance checks, rate limits per address and per IP · /api/ordersLive
- Matcher — re-verifies, enforces limit price, fills at the index against the poolLive
- Paper settlement — positions, fees, capped PnL and a ledger under the contract's rules, on test collateralLive
- PrismPerpSettlement — on-chain signature and session checks, batch settlement, each order on its ownBuilt
- Relayer → settleBatch — submitting matched intents on-chainBuilt
- 4
Settlement
Collateral, the payout pool and liquidation.
- PrismPerpVault — USDG at 6 decimals; pool-only escrow of the 8× cap at openBuilt
- LiquidationModule — capped PnL, maintenance threshold at 90% of marginBuilt
- Liquidation keeper — liquidates past 90% with costs counted — paper ledger, or liquidate() on-chain for a bountyLive
- Indexer — positions, balances, ledger and open interest from settlement, vault and oracle eventsBuilt
Live — running against a real source nowBuilt — implemented and tested, not yet what the live site runsModelled — stands in for a source that does not exist yetPlanned — specified, not implemented
Modules
One page per module: what it is responsible for, the formula it implements and its parameters.
| Module | Role | Implementation | Reads from | Writes to |
|---|---|---|---|---|
| C-VIX Index Engine | pricing | core/cvix.ts · off-chain | Deribit and Derive REST · BTC + ETH option surfaces | CVIXOracleDampener.sol |
| Oracle Dampener | safety | CVIXOracleDampener.sol | Keeper-signed index pushes | PrismPerpSettlement.sol |
| FR-BASIS Engine | pricing | PrismPerpSettlement.sol · carry index | Binance fapi · Hyperliquid info · Lighter | PrismPerpVault.sol |
| Dynamic Skew Engine | risk | DynamicSkewEngine.sol | PrismPerpSettlement.sol · open interest | Borrow index · charged at close |
| 8× Payout Cap | solvency | LiquidationModule.sol | Settlement · mark price | Vault escrow release |
| Intent Settlement | execution | PrismPerpSettlement.sol | EIP-712 intents signed by the trader | Vault · skew engine |
Open the terminal
Charts, books and quotes need no wallet. Connecting one starts a paper session: test collateral, settled by the relayer, not on-chain.
