Asset Minting
Asset minting allows users to create synthetic assets by depositing DUSD as collateral. The minting process uses oracle prices with advanced risk management to ensure protocol stability.
Minting Process
1. Collateral Validation
Before minting, the system validates backing:
// Check protocol solvency before minting
const maxBorrowable = await dusdProvider.getMaxBorrowableDUSD()
const currentSupply = await dusd.totalSupply()
const canMint = currentSupply + mintAmount <= maxBorrowable
if (!canMint) {
throw new Error("Insufficient protocol backing")
}2. Virtual Asset Creation
Unlike traditional tokens, synthetics are virtual positions:
// Mint xAAPL with 1000 DUSD
await swapRouter.mintSynthetic(
keccak256("xAAPL"),
parseEther("1000"),
parseEther("6.6") // Minimum xAAPL expected at $150/share
)3. Price Calculation
The system uses oracle prices for exact calculations:
4. Settlement Lock
After minting, a settlement lock prevents immediate arbitrage:
Supported Assets for Minting
Equities (Primary Focus)
xAAPL: Apple Inc. - Real-time NASDAQ pricing
xTSLA: Tesla Inc. - High-volatility equity exposure
xMSFT: Microsoft Corp. - Large-cap technology
xAMZN: Amazon.com Inc. - E-commerce and cloud leader
xGOOGL: Alphabet Inc. - Search and advertising giant
Commodities
xGOLD: Gold futures - Safe haven asset
xSILVER: Silver futures - Industrial precious metal
xOIL: Crude Oil futures - Energy commodity
xCOPPER: Copper futures - Industrial metal
Indices
xSP500: S&P 500 Index - Broad market exposure
xNASDAQ: NASDAQ Composite - Technology-heavy index
xDOW: Dow Jones Industrial Average - Blue-chip stocks
Crypto Synthetics
xBTC: Synthetic Bitcoin - Digital gold exposure
xETH: Synthetic Ethereum - Smart contract platform
Minting Requirements
Protocol-Level Requirements
Dynamic Backing: Total DUSD supply must not exceed collateral-backed limit
Oracle Validity: Price feeds must be fresh and valid
System Health: Protocol must not be in emergency mode
User-Level Requirements
Minimum Amount: 10 DUSD minimum mint
DUSD Balance: Sufficient DUSD for mint amount + fees
Settlement Status: No active settlement lock from previous trades
Risk Parameters
Fee Structure
Flat Minting Fee
Rate: 0.3% of DUSD amount
Rationale: Minting is low-risk operation (doesn't drain DUSD supply)
Minimum: 0.03 DUSD (0.3% of 10 DUSD minimum)
Maximum: 3,000 DUSD (0.3% of 1M DUSD maximum)
Fee Comparison
Mint Synthetic
Low
0.3% flat
Swap Synthetic
Low
0.3% flat
Burn Synthetic
High
0.3-2% dynamic
Why Flat Fee: Minting converts DUSD to synthetic positions without creating new DUSD, posing minimal solvency risk.
Minting Examples
Example 1: Mint xAAPL
Example 2: Mint Multiple Assets
Risk Management
Protocol Solvency Protection
Dynamic Backing Calculation
Oracle Risk Mitigation
Staleness Checks: Prices must be updated within last hour
Deviation Limits: Prevent extreme price movements
Multiple Sources: Chainlink + Pyth for redundancy
Circuit Breakers: Pause minting during oracle issues
Settlement Lock Mechanics
Purpose
MEV Protection: Prevents sandwich attacks
Arbitrage Dampening: Reduces rapid price exploitation
Market Stability: Allows oracle prices to stabilize
Implementation
User Experience
Integration Examples
React Hook for Minting
Minting Interface Component
Monitoring and Analytics
Key Metrics
Total Synthetic Value: Sum of all minted synthetic positions
Protocol Backing Ratio: Available backing vs total DUSD supply
Mint Volume: Daily/weekly minting activity
Asset Distribution: Breakdown by synthetic asset type
Settlement Lock Activity: Frequency and duration analysis
Risk Indicators
Best Practices
For Users
Check Backing: Verify protocol has sufficient backing before large mints
Plan Timing: Consider settlement locks when planning multiple operations
Monitor Fees: Understand flat vs dynamic fee structure
Oracle Awareness: Be aware of market hours for equity synthetics
For Developers
Solvency Checks: Always validate protocol backing before minting
Settlement Handling: Account for 1-minute locks in UI/UX
Error Handling: Gracefully handle backing insufficient errors
Real-time Updates: Monitor backing ratios and settlement status
Security Considerations
Oracle Dependency: Understand reliance on price feed accuracy
Settlement Timing: Don't assume immediate liquidity after mints
Protocol Limits: Respect dynamic backing constraints
Fee Calculations: Account for fees in all estimations
Last updated