Architecture
This page explains SV3's on-chain architecture, covering contract roles, the permissionless keeper's function, and how solvency checks secure every
SV3 settles pricing, issuance, redemption, reserve custody, floor accounting, fees, collateral, and debt on-chain.
Contract roles
| Component | Responsibility |
|---|---|
| Directory | Protocol configuration, global controls, caps, and implementation discovery |
| Factory | Permissionless market creation and deterministic market identity |
| FloorPolicyController | Recomputes the maximum valid area/surplus floor-raise plan |
| UpgradeableBeacon | Shared FloorMarket implementation for the v1 market generation |
| FloorMarket | Trading, reserve accounting, floor actions, positions, fees, and solvency checks |
| MarketToken | 18-decimal ERC-20 Permit token minted and burned only through market rules |
Curve math is compiled directly into FloorMarket. Each transaction calculates from current market state and validates its complete post-action solvency values before settlement.
What the keeper does
The keeper supplies liveness only:
- Read the controller's current eligibility result and deterministic plan.
- Build a freshness-bound witness.
- Submit
FloorPolicyController.raiseIfEligible(market, witness). - Let the contracts recompute and either accept or reject the same plan.
The controller recomputes the plan on-chain, so the submitted witness only proves freshness. The keeper has permission to submit the same call available to any address and earns no protocol bounty.
A keeper outage delays eligible raises. Existing reserve accounting, floor value, trading, positions, and solvency continue under the last completed state.
Operator shape, dual gas wallets, and the observe-only default: Floor keeper. SDK writes: raiseIfEligible.
Interfaces and indexed data
Web interfaces and indexed history present quotes and past activity. Before execution, a transaction refreshes authoritative contract state and must pass on-chain slippage, deadline, cap, pause, and solvency checks.
Upgrade and pause authority are separate trust assumptions described in Risks & Controls.
Proxy layout, networks, and how the TypeScript SDK is pointed at a chain are on Deployments.