Architecture
The Unstable Protocol is designed with a flexible architecture to support different collateral types and provide adaptability for future upgrades. It organizes protocol functions into logical components with clear responsibilities, creating a cohesive system.
Core Components
UnstableConfigurator: Central configuration contract that manages system parameters
Vaults (BaseVault and implementations): Manage collateral and debt positions
nUSD: The protocol's USD-pegged stablecoin
Oracles: Provide price data for collateral assets
Component Implementation
Each functional component in the Unstable Protocol is implemented through specific contracts:
Position Management
BaseVault, StakedEthVault, etc.
Manage user positions and collateral
Interest and Fees
UnstableConfigurator
Handle origination fees
Price Oracle
Chainlink, zkOracle
Provide price data
Liquidation System
BaseVault (liquidation methods)
Manage position health
Redemption System
BaseVault (redemption methods)
Convert nUSD to collateral
Emergency Controls
UnstableConfigurator
Emergency controls and pauses
Vault Types
The protocol supports multiple vault types for different collateral assets:
ETH-based vaults: For scETH and other yield-bearing ETH wrappers
Sonic-based vaults: For staked S-based collateral
Stablecoin vaults: For USD-pegged assets
Token vaults: For other tokens with reliable price feeds
Core Tokens
nUSD: The protocol's USD-pegged stablecoin
Collateral tokens: Various yield-bearing assets accepted by vaults
Last updated