Asdra Stable Tokens are tokens whose value is linked 1:1 to FIAT currencies.
Fiat money is a currency that is established as money, often through government regulation. Further details and the history of FIAT money can be substantiated here.
Asdra supports 180 FIAT currencies of the global financial market by default, e.g. AsdraUSD for the USD, AsdraEUR for the EUR, and so on.
Asdra Stable Tokens pegged is automatically maintained by the Asdra Protocol and more specific by the Vault & Tokens Layer. Any Stable Token currency backed by Asdra Protocol cannot have a maximum supply. In fact, Asdra's Stable Tokens are algorithmically generated by providing liquidity in FIAT or swap Asdra Utility Tokens or by providing collateral through the Wealth Layer. For all Stable Tokens supported in the ecosystem, Asdra uses the continuous approach.
As part of the Bonding Curve Contracts, Continuous Tokens are a new type of token whose price is continuously calculated. There are a number of interesting properties of continuous tokens, such as:
No limit to supply. Tokens can be minted in an unlimited number.
Deterministic pricing. Purchasing and selling prices of tokens are affected by the number of tokens that are minted.
A constant price. Token n has a lower price than token
n+1 and a higher price than token
Availability of instant liquidity. By acting as an automated market maker, the bonding curve allows tokens to be bought or sold instantly at any time. Bonding curve contracts act as counterparties to the transaction and keep a sufficient level of ETH on hand to buy tokens back. It is possible to attain these properties through the use of bonding curves.
These properties are made possible through the use of bonding curves.
A bonding curve is a mathematical curve that defines a relationship between the price and supply of tokens.
The following diagram shows an example of a bonding curve, where
currentPrice = tokenSupply²:
The bonding curve indicates that as the supply of the token increases, the price rises. The exponential growth rate is accelerated in the case of the above curve by increasing the number of tokens minted.
After a token is purchased, each subsequent purchaser will be required to pay a slightly higher price for each token, thus generating a potential profit for the earliest investors. Over time, as more people become aware of the project and individuals purchase tokens, the value of each token will increase along the bonding curve. If early investors discover promising projects, buy the curve-bonded token, and then sell the token, they may make a profit in the future.
The Bancor Formula allows us to calculate the dynamic pricing of a Continuous Token. This formula uses a constant Reserve Ratio, which is calculated as follows:
Reserve Ratio = Reserve Token Balance / (Continuous Token Supply x Continuous Token Price)
The Reserve Ratio is expressed as a percentage greater than 0% and up to 100%.
A Reserve Ratio represents a fixed ratio between the value of the total supply of a Continuous Token (total supply x unit price) and the value of the Reserve Token balance. The Bancor Formula will hold this ratio constant as both the Reserve Token balance and the Continuous Token total value (or its market capitalization) fluctuate with each buys and sells.
Every purchase or sale of a Continuous Token results in a change in Reserve Tokens and Continuous Tokens, which means that the relative price of the Continuous Token to its Reserve Tokens is constantly recalculated to maintain the configured reserve ratio between the two.
The Continuous Token's Reserve Ratio dictates how much its price needs to adjust in order to maintain its value with each transaction, or in other words, how sensitive it should be to changes in the price.
An example of bonding curves with different Reserve Ratios is shown in the diagram above. When supply increases, the price curves in the lower-left curve grow more aggressively with a 10% Reserve Ratio. With a reserve ratio above 10%, the shape would tend to settle to the linear top-right shape as it approaches 50%.
The following graph functions can be obtained at various reserve ratios:
When RR = 1 and n = 0, we get
f(x) = m
When RR = 1/2 and n = 1, we get
f(x) = mx
When RR = 1/10 and n = 9, we get
f(x) = mx^9
When RR = 9/10 and n = 1/9, we get
f(x) = mx^(1/9)
When the reserve ratio between the Reserve Token balance and the Continuous Token is higher, the price movement of the Continuous Token is less sensitive to price fluctuations, which means that each purchase or sale has a smaller effect on the price of the Continuous Token. In contrast, a smaller ratio between the Reserve Token balance and the Continuous Token leads to a higher price sensitivity, which means that the price movement of the Continuous Token will be more volatile.
According to the Bancor formula, the Continuous Token's current price can be calculated as follows:
Continuous Token Price = Reserve Token Balance / (Continuous Token Supply x Reserve Ratio)
It is important to note that the price of a Continuous Token increases as the number of Continuous Tokens increases. Purchasing moves you upwards, while selling moves you downwards. Therefore, calculating the exchange rate becomes difficult when you want to exchange a number of tokens.
When considering the number of tokens minted for a given number of ETH (or the number of ETH, returned for a given number of tokens ), one must use the integral calculus, since one must determine the area under the bonding curve:
There are two new formulas that can be derived from the original formula. To determine the number of continuous tokens obtained for a given number of reserve tokens, one must:
PurchaseReturn = ContinuousTokenSupply * ((1 + ReserveTokensReceived / ReserveTokenBalance) ^ (ReserveRatio) - 1)
Another to calculate the number of reserve tokens one receives as a result of exchanging a given number of continuous tokens:
SaleReturn = ReserveTokenBalance * (1 - (1 - ContinuousTokensReceived / ContinuousTokenSupply) ^ (1 / (ReserveRatio)))
The formulas shown below are the final pricing functions we can employ for our bonding curve contracts.
These curves can be etched into the blockchain. There is a specific type of bonding curve contract that generates its own Continuous Token. In general, prices are determined by a bonding curve in the contract.
A bonding curve contract holds a reserve token balance ( for example,
ETH). In order to acquire Continuous Tokens, the buyer must send an amount of Ethereum to the Bonding Curve's Buy function, which calculates the price of the token in
ETH and issues you the correct number of Continuous Tokens. Selling the Continuous Token works in reverse: The contract calculates the current market price of the Continuous Token and then sends you the correct number of
Additional details of the Bancor system formulas can be downloaded here.