Background
On-chain assets include native assets (completely decentralized and capture value on the chain) and secured assets (undertake some kind of centralized risk and/or requiring certain kind of centralized entity’s guarantee, such as USDT). Based on the on-chain price from the oracle, the existing native assets can be used to form all other assets in parallel as long as they have a on-chain price, whether they are native or credit assets. The significance of using such native assets to issue parallel assets is that the underlying assets no longer take any credit risk.
Concepts
Collateral Assets
Assets which are generally decentralized and native, were create on the chain, can be used to generate parallel assets, such as ETH, NEST, NHBTC.
Underlying Assets
Underlying parallel assets, such as ETH, USDT, HBTC, etc.
Parallel Assets
Assets generated by collateral through protocol, anchored the underlying assets, with an intrinsic value of 1:1, such as pUSD, pETH, pBTC.
The following uses pUSD as an example to illustrate the remaining concepts:
Collateral Rate
At the beginning of mintage, users need to deposit collateral assets to generate the parallel one, such as pUSD, where the ratio of pUSD generated from per collateral asset to the collateral asset price is less than 1.
Liquidation Price
When the price of the collateral asset drops, there is a liquidation line above the collateral rate. The liquidation pirce and the collateral rate conform to a certain relationship. The liquidation price is generally 10%-20% higher than the collateral rate.
Debt Position
After the minting user deposits the collateral assets to the contract, a debt position for custody of the collateral assets is created. When the user redeems the collateral assets from the debt position, the debt deposition ends, and the collateral assets added or re-pledged in the middle share the same debt position.
Insurance Fund Pool
The insurance fund pool is used to ensure that the exchange relationship between pUSD and USDT is always maintained at a ratio of 1:1 when liquidating. The insurance fund pool can be deposited both pUSD and USDT.
- When the collateral assets trigger the liquidation line, the collateral assets in the debt position will be transferred to the insurance fund pool, the collateral assets are converted into USDT and pUSD through CoFiX, and destroy the corresponding pUSD in the debt position. If the pUSD in the insurance fund pool is not enough to destroy, a negative account will be formed. Then anyone or liquidation contract can deposit a pUSD, and a value of the negative account will be reduced.
- Anyone can deposit 1 USDT to the insurance fund pool to generate 1 sUSD at anytime, or return one sUSD to the pool in exchange for one USDT, provided that the insurance fund pool has USDT.
Oracle
Provides on-chain prices for collateral assets, namely NEST.
Stability fee
Based on the collateral rate, each debt position has to pay the stability fee according to the difference between the liquidation line and the current price and the time period when adding collateral, minting new coins, redeeming and liquidating.
Minter
The user who uses collateral assets to mint coins.
Insurer
LP of insurance fund.
Operation process
1.Minting
The minter deposits the required collateral assets to the contract, and generates stable coins such as pUSD or pETH according to the collateral rate of their choice. At the same time, the system will generate the corresponding debt position and liquidation line.
2.Redeem
Before the debt position is liquidated, the minter can return the corresponding amount of stable coins at any time to withdraw the collateral asset.
3.Liquidation
Once the collateral asset price is below the liquidation line, anyone can trigger the liquidation. The liquidation according to the following rules: assets in the debt position enter the CoFiX to trade, and after deducting the liquidator’s income, they are converted into USDT or pUSD (the same as other parallel assets, here uses USD for an example) and destroy the parallel assets corresponding to the debt position. If the pUSD in the insurance fund pool is not enough to be destroyed, a negative account will be formed. Afterwards, anyone who deposits a pUSD will reduce a value of the negative account. See Algorithm 3 for the liquidation process.
4.Supplement collateral
At anytime, users can supplement the collateral, which will enter the same debt position, and modify the liquidation line at the same time. See Algorithm 1 for the rule.
5.Deposit to Insurance Fund
Anyone can deposit insurance assets to the insurance fund pool. The requirement is the corresponding underlying asset or parallel asset such as USDT or pUSD, or any asset (which will be traded into the underlying asset or parallel asset in CoFiX), and the share is calculated according to the net value after depositing.
6.Insurance Withdraw
The insurance funds can be redeem at a designated redeem day. Redemption happends once every 3 months. Each share needs to be held for at least 3 months, and redeem according to the net asset value.
7.Minting again
The user can re-mint coins in the original debt position and correct the liquidation line at the same time, correct according to Algorithm 1.
8.Fast minting and redemption
Users can deposit 1 USDT to the insurance fund pool to get 1 pUSD, or deposit 1 pUSD for 1 USDT (if there are sufficient asset).
9.Stability Fee
The stability fee is calculated according to the block. The stability fee is charged for each operation of coin minting, redemption, supplement collateral, and settlement. See Algorithm 2 for calculation.
10.Insurance NAV
The net insurance fund asset value is calculated according to Algorithm 4.
Refer to Github for the core algorithms:https://github.com/Parasset/Doc/blob/main/Parasset.md