Unstable Protocol
  • Introduction
  • Users
    • Mint nUSD
    • Repay nUSD
    • Interest and Fees
    • Collateralization and Liquidation
    • Redemption
  • Developers
    • Architecture
    • Position Management
    • Interest and Fees
    • Price Oracle
    • Liquidation System
    • Redemption System
    • Emergency Controls
    • Deployments
    • Security & Audits
Powered by GitBook
On this page
Export as PDF
  1. Developers

Redemption System

The Redemption System component handles redemption of nUSD for collateral.

Action
Description
Function

Redeem

Redeem nUSD for collateral

redemption(address debtor, uint256 nusdAmount, uint256 minReceiveAmount)

Calculate Redemption

Calculate redemption amounts

calculateRedemption(address provider, uint256 nusdAmount)

Example: Redeem nUSD for Collateral

// Calculate redemption details
(uint256 providerFee, uint256 protocolFee, uint256 nusdToProtocol, uint256 nusdToRepay, uint256 nusdToConvert, uint256 collateralReceived) = 
    IVault(vaultAddress).calculateRedemption(userAddress, nusdAmount);

// Approve nUSD for redemption
IERC20(nUSDAddress).approve(vaultAddress, nusdAmount);

// Execute redemption with minimum amount check
IVault(vaultAddress).redemption(userAddress, nusdAmount, minCollateralAmount);
PreviousLiquidation SystemNextEmergency Controls

Last updated 2 months ago