Parasset: Value Reconstruction Based on Oracle

PARASSET
4 min readApr 16, 2021

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.

  1. 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.
  2. 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

--

--

PARASSET

Parassets such as PUSD, PETH, PBTC are generated by protocol collateral and anchor the underlying asset with an intrinsic value of 1:1