System Architecture
Overview
┌─────────────────────────────────────────────────────────┐
│ CHAINLINK CRE LAYER │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ ETH/USD Feed │ │ Lido TVL API │ │ Aave/Maker │ │
│ │ (Chainlink) │ │ (DeFiLlama) │ │ TVL APIs │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ └─────────────────┼──────────────────┘ │
│ ▼ │
│ ┌────────────────────────┐ │
│ │ JavaScript Compute │ │
│ │ Systemic Risk Index │ │
│ │ (weighted 0–100) │ │
│ └────────────┬───────────┘ │
└───────────────────────────┼─────────────────────────────┘
│ setRiskScore() every 60s
▼
┌─────────────────────────────────────────────────────────┐
│ SMART CONTRACT LAYER │
│ │
│ ┌────────────────────────┐ │
│ │ VaultSentinel.sol │ │
│ │ │ │
│ │ vaultState: ACTIVE │ │
│ │ riskThreshold: 70 │ │
│ │ lastRiskScore: 0–100 │ │
│ └────────────┬───────────┘ │
│ score ≥ 70 │ │
│ ─────────────▼ │
│ ┌────────────────────────┐ │
│ │ _executeEmergency() │ │
│ │ → _returnAllFunds() │ │
│ │ → vaultState=EMERGENCY│ │
│ └────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│
│ wagmi / viem reads
▼
┌─────────────────────────────────────────────────────────┐
│ FRONTEND LAYER │
│ │
│ Home Tab Pools Tab Portfolio Tab │
│ ────────── ────────────── ─────────────── │
│ Risk Gauge ETH / USDC / User deposits │
│ Vault State stETH pools + balances │
│ Features Deposit form │
└─────────────────────────────────────────────────────────┘Data Flow
Normal Operation (score < 70)
Emergency Triggered (score ≥ 70)
Risk Score Formula
Factor
Weight
Baseline
Metric
Contract State Machine
Deployed Addresses (Tenderly Virtual Testnet)
Contract
Address
Last updated