SV3 logo

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

ComponentResponsibility
DirectoryProtocol configuration, global controls, caps, and implementation discovery
FactoryPermissionless market creation and deterministic market identity
FloorPolicyControllerRecomputes the maximum valid area/surplus floor-raise plan
UpgradeableBeaconShared FloorMarket implementation for the v1 market generation
FloorMarketTrading, reserve accounting, floor actions, positions, fees, and solvency checks
MarketToken18-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:

  1. Read the controller's current eligibility result and deterministic plan.
  2. Build a freshness-bound witness.
  3. Submit FloorPolicyController.raiseIfEligible(market, witness).
  4. 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.