ZooFinance
  • About ZooFinance
  • LNT VAULT
    • Backgroud
    • Product Design
      • Core Concept
      • How does LNT work
      • Pre-deposit
  • BeraChain Eco
    • Background
    • Liquidity Vault (L-Vault)
      • Stablecoin--ZUSD
      • Margin Token
      • Asset Adequacy Ratio
      • Deposit/Mint
      • Withdraw/Redeem
      • Interest Settlement
      • Price Trigger Yield
      • Discount Offer
      • Parameters
    • Bribe Vault (B-Vault)
      • Principal Token
      • Yield Token
      • Dutch-VAMM
      • Parameters
  • Security
    • Audit Report
Powered by GitBook
On this page
  • Bonding Curve of Pricing
  • Virtual AMM
  1. BeraChain Eco
  2. Bribe Vault (B-Vault)

Dutch-VAMM

PreviousYield TokenNextParameters

Last updated 8 months ago

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)=Pa/(1+t)2P(t) = {P_a}/{(1 + t )^2}P(t)=Pa​/(1+t)2

Where :

  • PaP_aPa​ is the initial price of YT;

  • ttt is the time elapsed in the current epoch, measured in days.

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.

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×Y=kX \times Y =kX×Y=k

Where:

  • XXX is the number of YT;

  • YYY is the number of underlying assets which is virtually generated by the contract. Y=Pa×XY=P_a\times XY=Pa​×X

  • kkk 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)×(Y+n)=k(X - m) \times (Y + n) = k(X−m)×(Y+n)=k

Then we can get

m=X−kY+nm = X - \frac{k}{Y + n}m=X−Y+nk​

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

k(t)=k0/(1+t)2k(t) = {k_0}/{(1 + t )^2}k(t)=k0​/(1+t)2

Where

  • k0k_0k0​ is the constant at the beginning;

  • ttt is the time elapsed in the current epoch, measured in days.

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

m(t)=X−k0(Y+n)×(1+t)2m(t) = X - \frac{k_0}{(Y + n)\times(1+t)^2}m(t)=X−(Y+n)×(1+t)2k0​​