csUSD Architecture
csUSD (cSigma USD) is the unified, yield-bearing token at the core of the Edge platform. It is designed to replace multiple legacy ERC-4626 pools with a single multi-asset ERC-7575 vault, simplifying the user experience and improving capital efficiency.
When users deposit supported stablecoins (currently USDC and USDT) into Edge, they receive csUSD, which represents their proportional ownership of the total vault assets. As institutional borrowers repay loans with interest, the value of csUSD increases — delivering yield directly through the token’s exchange rate.
Architecture Components
The csUSD protocol is composed of the following smart contract modules:

1. ERC-7575 Sub-Vaults
One sub-vault is deployed for each underlying asset type:
USDC Vault
USDT Vault
Each sub-vault inherits the ERC-7575 multi-asset tokenized vault standard
Sub-vaults manage deposits, withdrawals, and accounting for that specific asset
Yield from all sub-vaults is aggregated into the csUSD token
Benefits of ERC-7575:
Native support for multiple assets within a single vault system
Interoperable with DeFi protocols
Standardized accounting and share minting
How to Mint:
/// @notice mints exactly shares vault shares to receiver
// by depositing assets of underlying tokens.
function mint(uint256 shares, address receiver) public returns (uint256 assets);
/// @notice deposits assets of underlying tokens into the vault
// and grants ownership of shares to receiver.
function deposit(uint256 assets, address receiver) public returns (uint256 shares);

How to Redeem:
/// @notice redeems a specific number of shares from owner and sends assets of underlying token
// from the vault to receiver.
function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets);
/// @notice burns shares from owner and send exactly assets token
// from the vault to receiver.
function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares);

2. Share Token (csUSD ERC-20)
ERC-20 token that represents a user’s share of the entire csUSD vault
Minted when users deposit into any sub-vault
Burned when users withdraw underlying assets
Backed by a proportional claim on all sub-vault reserves and deployed capital
Transferable like any ERC-20, making csUSD composable across DeFi
3. Fund Manager
Oversees capital deployment across cSigma Institutional Borrower Pools
Allocates funds from USDC and USDT sub-vaults to multiple lending strategies
Monitors repayments, interest accrual, and liquidity buffers
Updates the Oracle with real-time asset valuations
Responsibilities:
Maintain optimal reserve ratios for instant withdrawals
Diversify lending to reduce counterparty risk
Rebalance between sub-vaults if necessary
4. Asset Oracle
The Csigma Asset Oracle is a critical component of the csUSD ecosystem. It provides real-time asset pricing, valuation, and conversion logic for supported stablecoins (e.g., USDC, USDT) using trusted price feeds.
Purpose
Tracks and manages all supported assets and their associated Chainlink USD price feeds.
Calculates accurate USD values for underlying assets across csUSD sub-vaults.
Provides exchange rate and conversion logic between underlying assets and csUSD share tokens.
Enforces strict price bounds and staleness checks to protect against faulty or manipulated price data.
Key Features
Supported Assets Registry
Each asset has:
Pool address where it is deployed.
Chainlink price feed.
Decimals for both token and price feed.
Price bounds (
lowerBound
,upperBound
) for peg stability.Validity period for price freshness.
Price Retrieval
Fetches latest price from Chainlink oracles.
Normalizes to 18 decimals.
Optionally enforces bounds for stricter price safety.
Rejects stale data beyond configured validity period.
Total USD Valuation
Aggregates the USD value of all supported assets held across sub-vault pools.
Used to determine the csUSD exchange rate.
Exchange Rate Calculation
exchangeRate()
=totalAssetsUSD / csUSD totalSupply
Ensures fair share token pricing based on actual reserves.
Conversion Functions
convertToShares(token, assets)
→ Estimates how many csUSD a deposit will mint.convertToAssets(token, shares)
→ Estimates how much of an underlying token a csUSD redemption will return.
Role-Based Access Control
DEFAULT_ADMIN_ROLE
→ Full control over upgrades and role assignments.ROLE_MANAGER
→ Can add/remove assets, update price ranges.
Cross-Module Role
The Asset Oracle is consumed by:
Sub vaults → To value deposits and withdrawals in USD terms.
Withdraw Managers → To calculate fair redemption amounts.
Frontend UI → To display accurate AUM and exchange rates to users.
Example Flow
User Deposits USDC
Oracle fetches USDC/USD price from Chainlink.
Value normalized to 18 decimals.
Converted to USD amount → csUSD minted accordingly.
User Redeems csUSD
Oracle calculates USD value of csUSD shares.
Converts back to underlying stablecoin amount at current oracle price.
Amount returned to user.
Security Measures
Bounds Enforcement: Rejects prices outside a configured peg range (e.g., ±1%).
Staleness Checks: Rejects oracle prices older than the validity period.
Upgradeable via UUPS: Allows protocol improvements while retaining security.
5. Withdraw Managers (per Sub-Vault)
One Withdraw Manager is assigned to each sub-vault (USDC, USDT)
Handles withdrawal requests when immediate liquidity is insufficient
Implements FIFO queue to ensure fairness
Continues to accrue yield on queued withdrawals until fulfillment
Key Functions:
requestWithdrawal(uint256 _LPTokenAmount, address receiver)
repay(uint256 uptoQueuePosition, uint256 amount)
claim(uint256 queuePosition, uint256 repaymentDataIndex)
6. Router (Cross-Chain Bridge)
Integrates with LayerZero and Stargate to support deposits and withdrawals across multiple chains.
Bridges both underlying stablecoins and csUSD share tokens.
Ensures seamless user experience regardless of origin or destination chain.
Cross-Chain Deposit Flow
User deposits USDC/USDT on Source Chain
Tokens bridged to target chain via Stargate
Deposit executed in corresponding sub-vault
csUSD minted to user wallet on target chain

Cross-Chain Withdrawal Flow
User initiates withdrawal on source chain
csUSD tokens burned, underlying assets released
Assets bridged to user’s target chain
Delivered in chosen stablecoin (USDC or USDT)

Last updated