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

Operation
Risk Level
Fee Structure

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