Flash Pool

Mechanisms of supply, borrow, insurance, and auction activities in different versions of Wing Flash Pool

WING Token Incentives Distribution

Incentives for each Wing Pool

Currently WING asset is generated at the rate of 0.06 WING/sec0.06\ WING/sec , and burnt at0.024 WING/sec0.024\ WING/sec. WING incentive distribution rate is the difference between the two, i.e., 0.060.024=0.036 WING/sec0.06 - 0.024 = 0.036\ WING/sec. Hence, daily WING incentive amount is 0.036606024=3110.4 WING/day0.036 * 60 * 60 * 24 = 3110.4\ WING/day.

This amount of incentive is shared by Flash Pool (Ontology), Flash Pool (Ethereum) and Flash Pool (OKExChain). The amount of WING incentives distributed to each pool has the same ratio as the 90th percentile of the previous day valid borrowed amount of respective pools. This distribution ratio updates daily at the block generated at closest to 0: 00 AM UTC time.

More specifically, let's say the 90th percentile of the previous day valid borrowed amount of Flash Pool (Ontology), Flash Pool (Ethereum) and Flash Pool (OKExChain) areB1B_1,B2B_2 and B3B_3 respectively; and the corresponding WING incentives of each pool one day are W1W_1, W2W_2 and W3W_3. As mentioned above, B1:B2:B3=W1:W2:W3B_1:B_2:B_3 = W_1:W_2:W_3.

The distribution rate of each pool differs. The distribution rate of Flash Pool (Ontology) is calculated by WING/secWING/sec . For Flash Pool (Ethereum) and Flash Pool (OKExChain), the rates are associated with the block time of the respective blockchain, hence are calculated byWING/blockWING/block.

Therefore, what's discussed above can be summed up into this table:

Pool

WING Incentive Amount

Distribution Rate

Flash Pool (Ontology)

W1=3110.4∗B1/(B1+B2+B3)

WING/sec = W1/(60*60*24)

Flash Pool (Ethereum)

W2=3110.4*B2/(B1+B2+B3)

WING/block = block time*W2/(60*60*24)

Flash Pool (OKExChain)

W3=3110.4*B3/(B1+B2+B3)

WING/block = block time*W3/(60*60*24)

To protect new pool users and raise attention, WING incentive distribution is more favorable to new pools before their valid borrowed amount reaches certain level.

Incentives for a Wallet Address

This section is applicable for all Wing Flash Pools. However, the WING incentive distribution rates for each Flash Pool are different, you can find the details in the previous section.

First, the WING incentives distributed to each Flash Pool will be further distributed by asset type. Here are some important parameters to calculate the distribution ratio for a specific asset:

Asset utilization rate = total borrowed amount / total supplied amount

WING base amount (of an asset) = valid borrowed amount * asset utilization rate

WING distribution ratio (of an asset) = base amount / sum of all assets' WING base amount

Then the incentives for each asset is distributed to Supply, Borrow and Insurance Pools with below ratios:

Pool

Ratio

Supply Pool

45%

Borrow Pool

45%

Insurance Pool

10%

Last, the incentives will be distributed to users' wallet addresses according to the proportion of an asset belonging to an address against the total amount of this asset in the Pool.

Let's go through an example.

Say the WING distribution rate of Flash Pool (Ontology) is 0.0288 WING/sec, and there are three assets in the pool with the amounts listed below in USD (All assets in the Borrow Pool are valid borrowed amount):

First, we calculate the WING amount distributed to each asset:

Then we calculate the WING distributed to each pool:

Last, say a user supplied pETH worth $100 and insured WING worth $100. Based on the process above, the WING incentives this user earned on the day is:

(100/1,0000.0092565+100/1,0000.00288)(606024)=104.85936 WING(100/1,000*0.0092565+100/1,000*0.00288)*(60*60*24)=104.85936\ WING

Supply, Borrow and Insurance

This section is applicable for all Wing Flash Pools. Here we take Flash Pool (Ontology) as an example.

Supply and Borrow

Users cannot supply and borrow one type of asset at the same time. For instance, if a user supply pETH and ONTd, they can only borrow ONG, pwBTC, prenBTC, pUSDC, pDAI, pUSDT, psUSD, pNEO, pUNI, pYFI and WING. Borrowed amount of an asset will not exceed the supplied amount. A user cannot borrow or withdraw an amount that surpasses the asset liquidity.

The user needs to first supply at least one asset and agree to use it as collateral, then they can borrow other types of asset from the pool. Each asset has its Collateral Factor which decides the maximum amount the user can borrow when using this asset as collateral. For example, a user has supplied 100 pETH and each pETH is worth $4,000, then the user's borrow limit is . Collateral Factors of different assets are here.

Once a borrow action is successful, the borrowed asset will be deposited directly into the user's wallet and start generating interest immediately. The use of the asset is without limitations. In order to avoid liquidation caused by token price fluctuation, users are recommended not to borrow more than 80% of their borrow limit (using the Safe Max button).

If users want to earn WING incentives by borrowing assets, they must lock WING asset that is equivalent to 3% of their borrowed amount in the Pool. Otherwise their loans do not earn interest. Borrowed assets are calculated based on the Annual Percentage Rate (APR) paid by the borrower. Each block is a calculation cycle and the calculated interest will be summarized as the principal when the next block is calculated.

Users can repay loans at any time entirely or partially. Interest continues accruing for outstanding loans, and stops if the principal and interest are paid off.

As Wing DAO's income, 15% (Reserve Factor) of the total interest paid by the borrower will be deposited into the Wing DAO Community Fund.

Rates and Interest

The interest is compounded on a block basis. The Annual Percentage Rate (APR) for the borrower is calculated with the Kink point model below:

Say APR is RR. When the capital utilization rate is UU, the corresponding APR isRuR_u. The capital utilization rate at the kink pointkk is UkU_k. The basic APR is R0R_0. The APR at the kink point is RkR_k. When the capital utilization rate is 100%, the APR isR100R_{100}.

IfIf U<Uk:U<U_k: R=R0+U/UkRkR=R_0+U/U_k*R_k

IfIf UUk:U≥U_k: R=R0+Rk+(UUk)/(1Uk)R100R=R_0+R_k+(U-U_k)/(1-U_k)*R_{100}

Supply APY = Borrow APR * Borrowed Amount / Supplied Amount * (1 – Reserve Factor)

See more related parameters are here.

Interest is in proportion to users' assets in the Supply or Borrow Pool against total amount of same assets in respective Pools. After users repay the loan or withdraw the supply, they will receive interests settled with the borrowed or supplied type of asset.

Let's walk through 2 examples to help with your understanding.

Example 1: A user has supplied 100 pETH to the pool, after which the total supply reaches 1,000 pETH. The total borrowed amount is of 600 pETH. In this case:

Borrow APR =[1%+(600/1,000)/80%7%]%=6.25%[1\%+(600/1,000)/80\%*7\%]\%=6.25\%

Supply APY = 6.25%600/1,000(115%)=3.19%6.25\%*600/1,000*(1–15\%)=3.19\%

Daily interest earned by this user is 1003.19%/365=0.00874 pETH100*3.19\%/365=0.00874\ pETH

Example 2: A user has supplied 100 pETH to the pool, after which the total supply reaches 1,000 pETH. The total borrowed amount is of 900 pETH. In this case:

Borrow APR =1%+7%+(900/1,00080%)/(180%)]%=58%1\%+7\%+(900/1,000–80\%)/(1–80\%)]\%=58\%

Supply APY=58%900/1,000(115%)=44.37%58\%*900/1,000*(1–15\%)=44.37\%

Daily interest earned by this user is pETH10044.37%/365=0.12156 pETH100*44.37\%/365=0.12156\ pETH.

Liquidation

Once the ratio of repayment (principal + interest) of a loan to the borrow limit of a user is greater than or equals to 95%, the loan details will be displayed on the liquidation page. Once it exceeds 100%, this loan will be open to liquidators.

For example, if a borrower supplies 100 pETH at $4,000 each as collateral, and borrows 100,000 ONTd at $2. Later, pETH price drops to $3,000, and ONTd price goes up to $2.5. At this point, the borrow limit of the borrower is , and the amount to be repaid is (Here we omit interest for ease of understanding, but in real cases, repayment consists of principal and interest). Since , this loan will be displayed on the liquidation page and liquidation starts.

All Wing DAO community members are eligible to become liquidators. Liquidators can acquire collateral assets by repaying loans at a certain discount (see liquidation bonus). After that, the borrower’s collateral and the amount to be repaid will be deducted accordingly. The maximum amount of collateral a liquidator can acquire is 80% of the total. A liquidator can choose to acquire 0% to 80% of the collateral. A liquidator can execute one or more liquidations for the same loan, once the ratio of repayment to borrow limit is below 95%, the loan will be removed from the liquidation page.

Let's continue with the above example. If a liquidator repays part of the borrower's loan using 80,000 ONTd and obtains the corresponding pETH collateral. The discounted pETH price for the liquidator is , so the liquidator acquires pETH. Now the borrower still has 10072.463=27.536100–72.463=27.536 remaining pETH , so their borrow limit is .The liquidator has repaid 80,000 ONTd for the borrower, so the amount to be repaid (excluding interest) drops to .Since , this loan will be removed from the liquidation page.

Insurance and Compensation

The Insurance Pool only accept WING assets supported by each Wing Flash Pool:

Pool

WING Asset

Token Standard

Flash Pool (Ontology)

WING

OEP-4

Flash Pool (Ethereum)

pWING

ERC-20

Flash Pool (OKExChain)

WING

KIP-20

Once insured, assets will be locked for 72 hours. Afterwards users will be able to withdraw assets at any time.

In the case that prices of collateral and borrowed assets change drastically, and the loan cannot be paid off even when all collateral is acquired, insurance compensation will be triggered.

If the borrower has locked WING assets for the borrowed assets to earn interest, the locked WING assets will be liquidated first. The rest of the repayment will be borne by insurers using WING assets they insured.

In the example mentioned above, if the borrower locked WING assets, the value should be . If after all collateral is bought, the borrower still needs to repay 4,000 ONTd, the locked WING worth $6,000 will be paid to ONTd suppliers first. Next, Insurers will repay worth of WING to ONTd suppliers. If an insurer has insured $10,000, and the total assets in the insurance pool is worth $1,000,000. This insurer needs to afford , which means the insurer loses $40 worth of WING on this loan.

Auction

Currently only partial income of Ontology based WING Pools will be auctioned monthly. The team is developing this feature for other pools, which is expected to be live at the same time. Please follow the Wing DAO community for schedule and details.

Users can only participate in auctions through ONTO Wallet.

Partial income of the Wing community fund is used to buy back WING token via public auctions. All WING obtained from auctions will be burned afterwards.

Burn address: AFmseVrdL9f9oyCzZefL9tG6UbvhPbdYzM

Each auction starts at 0:00 UTC on the 23rd of each month and lasts for up to 10 days. An auction ends when all assets are auctioned off. After the 10th day, unsold tokens will be automatically included in the next auction.

The monthly auction adopts the Dutch auction model. On the first day, token auction prices will be 1% off their market prices, Thereafter auction prices reduce 1% every day up to 10%. The market prices (in USD) are decided by a Wing Oracle.

For instance, say at one auction 100 pUSDT is available at the market price of $1 each. The auction carries out as shown in the below table:

Date

Auction Price

Sold

Available

23rd

$1*(1–1%)=$0.99

10 pUSDT

90 pUSDT

24th

$1*(1–2%)=$0.98

20 pUSDT

70 pUSDT

25th

$1*(1–3%)=$0.97

30 pUSDT

40 pUSDT

26th

$1*(1–4%)=$0.96

40 pUSDT

0 pUSDT