Smart contracts

Source: contracts/ (Foundry).

StockVault.sol

USDC reserved synthetic stock ledger.

FieldDetail
CollateralUSDC (6 decimals)
Shares18 decimal ledger units per ticker
Pricingprices[ticker] in USDC per share (6 decimals)
Rolesowner, oracle
Operationsbuy, sell, setPrice, depositReserve

Solvency: vault USDC must cover all synthetic liability at oracle prices.

PerpEngine.sol

Cash settled perpetual futures, separate from spot.

FieldDetail
MarginUSDC
MarketsPer ticker leverage, maintenance margin, open interest caps
Funding8 hour intervals, cumulative funding index
LiquidationMaintenance breach; liquidator bonus (250 bps)
Oracle staleness5 minutes max

Deploy scripts: contracts/script/. Run tests with forge test.

Deploy

Spot vault (from web/):


npm run deploy:vault

Perp engine (from contracts/):


forge script script/DeployPerp.s.sol --rpc-url https://rpc.testnet.arc.network --broadcast

Record addresses in environment variables.