3 proposals that solve problems with depeg and Vires with mathematical precision

I am putting forward 3 related proposals in one post.

Proposal 1
Issue USDN BONDS with different repayment periods and different coupons. Organize trading and add pools paired with USDN

This will also help with peg, which means it will speed up the opening of withdrawal from IDO.


Neutrino SC or any other SC offers a choice to buy 24 bonds for a year in advance with repayment on the 5th and 20th of each month. The purchase buttons display coupon yield, price (initially 1 USD), repayment date and remaining purchase limits. Limits are common for everyone. Optionally, you can calculate the total annual return — the amount of returns from coupons and value change of the bond body.

The value of a bond is determined by market. If the bond price rises, then its annual yield falls. On the contrary, if the price falls, then the APY increases.

Coupons are paid regularly, for example, once a block, day or week. Coupons come in the form of USDN to all bondholders, the same number every time interval. It’s like a Locked Staking on Binance for 30, 60, 90 days, but you can sell your bond to another user. There are similar LP tokens now, but their profitability is not fixed, and the market is not liquid. At the same time the USDN locked in exchange for bonds is frozen in the SC. At the end of the repayment period all current holders are paid the full body of the bond. Of course the holder can shift from one bond to another.

Somewhere on the site a yield curve can be drawn so that real-world economists look at it and rejoice. This is an extremely popular debt and liquidity management tool.

You can draw two curves: the yield of bonds from the market and the yield of bonds from the SC.

It will also be convenient for new projects similar to Pluto. The projects will keep part of the funds in bonds. Bonds will be easier to explain to buyers as opposed to explaining LP tokens. To understand LP tokens you need to know how MM works. And you don’t need to know much theory for understanding bonds.

The key rate will be the yield of bonds issued for a short term or Short-term bond yield. For long-term bonds, there should be a premium to yield.

In the table I gave an example of the issuing of 24 types of bonds with a duration of 30, 45, 60 … 375 days.


Let’s say SC Neutrino simultaneously minted 20 million USDN. We hope that, say, 12 million of them will be taken away by bonds. It is better to prepare these 12 million in advance.

Short-term bond yields can be taken as 20% or 50%. If we want to issue 12 million at a rate of 20%, then the total USDN minted will be 1.4 million. Even at a rate of 50%, the total USDN minted will be only 3.4 million.

Of course, during the release of USDN coupons, the body of debt will be returned as well. But users will also take some of this debt and invest in new bonds or other instruments. As a result, we will cool down a significant share of current volatility by issuing an additional small amount during next year.

The premium for long-term risk is expressed linearly with a coefficient of 0.001. APY of 375-day bonds is 58.69% at a rate of 50%.

I calculated the size of the real coupon according to exponential dependence in the next line. Then I split it in equal parts for each time interval and release it linearly.

Next, I gave each of the 24 issues 500,000 USDN and counted the total minted USDN for 375 days.

Of course, for new releases you can lower the rate over time when the situation improves. Now, I think it’s worth making high bets so that bonds compete with other tools, for example, with pools and Lambo Investing.

Proposal 2
Start 2 types of Vires vesting: in USDN and in SURF via WAVES locking in Neutrino SC

Set Vires vesting day limit proportional to BR. Give a choice which token users can get out with. The withdrawal limits in SURF will be, for example, 5 times higher than in USDN. Vesting SC buys WAVES from the market and locks it in Neutrino SC in exchange for SURF. At the same time the team sells a small part of the WAVES reserves in order to keep the USDN peg.

The model is located here:
You can edit the parameters as you wish.

Explanations to the table

We do the following:

  1. Swap USDN->WAVES every day. We can fix today’s initial swap size. Then we increase it in proportion to the change of BR.

  2. Vesting from Vires in SURF. At the same time, the SC buys WAVES from the market and puts it in Neutrino SC in exchange for SURF. This affects the price of WAVES and SURF according to the depth of the market. The formulas take into account the change in proportion to the depth of 2% of the market.

  3. Vesting from Vires in USDN. Proportional to vesting in SURF.

  4. Sasha’s monetary interventions, who sells Waves for USDN. It also affects the price through 2% of the market depth. The target price is set in cell E17.

  5. Pull out 137,000 USDN per day from IDO. Lasts 45 days, starting from the 15th day. This greatly affects the price of USDN. After finishing it becomes easier.

  6. Print money on the Neutrino printer when the BR reaches 115%.

  7. 33% of all from vesting are classified as bank runners, they sell it all. We also include 33% of those who received USDN from the Neutrino printer.

Vesting in SURF made 75% proportional to daily swaps. The coefficient is in cell E15.

Sasha’s interventions are calculated according to the depth of the market up to USD = 0.985$. Target price is in cell E17.

In columns:

D) Swaps depend on BR. I haven’t introduced anything new yet, because this parameter is mainly influenced by whales. Everything else can be ignored.
If the USDN price is above 0.995, then swaps are 0.
If the USDN price is above 0.99, then swaps are 10% of the original ones.

E) WAVES price changes in proportion to the current depth of the market, taking into account the difference between purchases by Vires SC and Sasha’s sales.

G) USDN price changes proportionally to the current depth of the market, taking into account the difference between purchases by Neutrino SC, Sasha and sales by Vires SC, bank runners (including those after the start of Neutrino printer), IDO runners.

H) Collateral changes as the difference between vesting and swaps.

I) The free circulation of USDN changes along with swaps, SURF and USDN vestings, as well as when the printer starts.

J) BR is counted as usual.

K) SURF reserves are replenished with vesting and decrease when the printer starts.

L) The issue of USDN using a Neutrino printer.

M) Vesting in SURF is calculated as the sum of swaps multiplied by the coefficient E15. If the swaps are small, then it is counted as the initial value of vesting multiplied by 0.75.

N) Vesting in USDN is calculated as the share of vesting in SURF with multiplier E16. If the swaps are small, then it is counted as the initial value of vesting multiplied by 0.75.

O) Sasha’s interventions are calculated taking into account the depth of the market and the target price of USDN. If USDN price is higher than the target price, then the interventions are 0.

P) The bank runners are counted as the sum of the vesting runners and ones after the printer event with a multiplier of E18.

Q) IDO runners are counted as 137k USDN for 45 days, starting from the 15th day.

R) SURF vesting in total.

R) USDN vesting in total.

T) The sum of Sasha’s interventions in WAVES.

You can edit the parameters as you wish. If the model starts to go haywire, then you need to edit the depth of the market. It affects the differential characteristics, but it has little effect on the integral characteristics.

Proposal 3
Change the formula for calculating the boosting in pools and lock part of the funds collected on launchpads in gWX

At the beginning of September, I tested the pools and suggested changing the formula for calculating boosting. This should be done to increase the overall attractiveness of gWX and for convenient mechanics of launchpads.

If the project wants to start a launchpad or implement any other way to access the Waves platform, then the project needs to develop the market of its new T token. To do this, you need to organize AMM, put votes into the T/USD pair, and advertise the project. If boosting is effectively working in small pools, then it will be extremely interesting for projects to invest in gWX.

The current situation is such that only whales can manage boosting but without benefit for themselves. It is more profitable for users to invest in high-yield pools with a boost of 1x than in low-yield ones with a boost of 3x. Regular users don’t have a strong motivation to lock gWX.

Users who have not bought gWX can take part of the profits from those who have bought and invested a lot of gWX votes in the same pool. By their actions they reduce the profitability of these pools. It is more profitable to follow those who bought WX than to buy WX yourself.

The new team with a token T needs to deposit WX more than there are T tokens, in order to get a boost or provide their users with a 3x boost in the T/USD pair.

boostedReward in the formula from lightpaper is calculated through poolReward, which is calculated through the weight of the pool w. The weights of the new pools are extremely small due to the fact that the main pools receive the bulk of the gWX votes.

It would be good to increase the weight of small pools, and make the weight formula nonlinear. This will complicate the system as a whole, I’m not sure that this is the optimal solution.

Or make a small correction to the weight of the pool in the summand with boosting. For small pool weights boosting is increased. Instead of the 2/3 multiplier in the boosting calculation formula, you can put A * log(B /w), where w is the weight of the pool. Then boosting is cut off by 3. The owners of gWX will receive a larger share of pool rewards. And those who don’t have gWX will get less. For large pools, this is not so important.

So if you want to get boosting in some pool with your favorite token, you can lock gWX, vote for the pool and get more rewards for your actions. Now it is beneficial for you to be as passive as possible. Small pools suffer because of zero liquidity. If the changes take place, then small pools will flood with liquidity. It will be easier to make “arbitrage” of yields. This will improve the system as a whole and encourage purchases of WX.

During launchpads a condition for teams can be set that part of their funds raised will be automatically locked into gWX, thereby giving them the opportunity to vote for their pools.

I am not affiliated with the Waves team in any way. If you are interested in my models and want to make a donation:


I promise that I will lock these funds in the Waves ecosystem for a long time.

Your efforts are great. Also can you check the 307th line in the excel file? There seems to be an error, but I’m not sure.

Hello, Cincirman.
This is due to the fact that the Neutrino printer is going to mint a lot of USDN. See column L. At the same time, the depth of the market is much less. See column C.

We need to add a formula to the model to adjust the depth of the market. The implementation of the proposal will increase the liquidity in the system, so such problems should not arise.

Even if we encounter similar problems, it will affect prices at the moment, locally. But in fact, this will not greatly affect the integral characteristics of the model in columns R, S and T.

The model does not take into account the influx of new users. We solve problems with the money that is already in the system. There are 0 revenues, only 33% losses from bank runners.

Currently, one bad debt (Vires) turns into another bad debt (SURF via USDN). I suggest getting a good debt in SURF via WAVES. We will convert 450 million USDN debt into 360 million SURF debt in a year without any fundraising. The bulk of SURF debt will be repaid during this time.

Of course, it will be easier if a large-scale advertising campaign is carried out and new users come. Everything will go faster and smoother.