# Dutch-VAMM

## Bonding Curve of Pricing

To achieve efficient price discovery, the price of YT will initially open at a higher level and then decrease at a certain rate until someone is willing to trade at that price. This is very similar to a Dutch auction. The bonding curve of pricing is given by:

$$P(t) = {P\_a}/{(1 + t )^2}$$

Where ：

* $$P\_a$$ is the initial price of YT;
* $$t$$ is the time elapsed in the current epoch, measured in days.

<figure><img src="https://35713914-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUI8rU1H8HMfKjLoaDEs%2Fuploads%2Fgit-blob-86b730b1cdbb044d275ad115ee911a2df74ea75b%2Fimage%20(6).png?alt=media" alt="" width="559"><figcaption></figcaption></figure>

When a user buys YT, the price will experience a jump due to changes in the supply and demand dynamics. This is different from a standard Dutch auction. So the price decline appears as shown in the following chart.

<figure><img src="https://35713914-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUI8rU1H8HMfKjLoaDEs%2Fuploads%2Fgit-blob-39bb6b017b6564cdf0aa7157e94288d1f3ac053d%2Fimage%20(8).png?alt=media" alt="" width="545"><figcaption></figcaption></figure>

## Virtual AMM

We draw inspiration from Uniswap's classic AMM mechanism to facilitate the purchase of YT. In our contract, we have virtually created a trading pair of YT and underlying assets, but only allow one-way purchasing of YT.

In a standard AMM, the relationship is

$$X \times Y =k$$

Where:

* $$X$$ is the number of YT;
* $$Y$$ is the number of underlying assets which is virtually generated by the contract. $$Y=P\_a\times X$$
* $$k$$ is a constant

Therefore, we can use the above formula to calculate how many YT (m) can be purchased with '𝑛' units of the underlying asset.

$$
(X - m) \times (Y + n) = k
$$

Then we can get

$$
m = X - \frac{k}{Y + n}
$$

However, because we have incorporated a Dutch auction-style Bonding Curve, $$k$$ in our VAMM is not constant but instead continuously decays over time.

$$k(t) = {k\_0}/{(1 + t )^2}$$

Where

* $$k\_0$$ is the constant at the beginning;
* $$t$$ is the time elapsed in the current epoch, measured in days.

Therefore, the final formula for calculating ‘𝑚’ is:

$$
m(t) = X - \frac{k\_0}{(Y + n)\times(1+t)^2}
$$
