Bonding Curves and Pricing
Last updated
Last updated
To realize the pricing of NFTs in every pool, Pikoswap has applied three Bonding Curves: ConstantCurve, LinearCurve and ExponentialCurve.
Bonding curves make the NFTs in the pool only moves within the predetermined Price Range, making the pricing of NFTs predictable in buying/selling.
When users create a new pool, they should determine which curve to use, and set customized parameters, among which there is one variable, called DELTA.
After a user trades with the pool, the pool consults its bonding curve to determine what its new price should be.
Simple to understand, the ConstantCurve means always quoting the same price.
If the user want to build a pool to sell/buy the NFTs always at the same price, he/she can choose the constant Curve.
Practically on Pikoswap, users just need slelect the linear curve, set its initial price, then set the Delta as 0. Since the variable he/she set is 0, as more transactions are generated, the NFT quote in the pool keeps always equal to the initial price.
The linear curve performs an additive operation to update the price. The pool will have price increasing/decreasing by X tokens with buys/sells activities .
When a pool has just sold an NFT and received tokens, the next price it will quote to sell NFTs will rise. And how much it increase is determined by the delta value of this pool.
e.g. A pool has adopted the linear curve with Delta set as 0.01ETH.
Let's assume current price for an NFT is 0.5ETH, then
0.5 ETH for the first NFT to be sold
0.5 +0.01=0.51 ETH for second NFT
0.51+0.01=0.52 ETH for third NFT
0.52+0.01=0.53 ETH for forth NFT
Conversely, when the pool receives (buys) an NFT by giving out tokens, the next price will be decrease.
The exponential curve performs a multiplicative operation. The pool will have increasing/decreasing price by X% with buys/sells activities .
When a pool has sold an NFT and received tokens, it has less NFTs in the pool and the price increases by percentage value of Delta.
e.g a pool has adopted the Exponential Curve with Delta of 10%.
Let's assume current price for an NFT is 0.5ETH, then,
0.5ETH for the first NFT to be sold
0.5*(1+10%)=5.5 ETH for second NFT
5.5*(1+10%)=6.05 ETH for third NFT
6.05*(1+10%)=6.655 ETh for forth NFT