Pricing Modeling
Last updated
Last updated
For those of you familiar with or have ever used Uniswap (https://uniswap.org/), the internal marketplace is powered by a similar type of decentralized exchange model (constant product automated market maker). Each time a BUY happens, you will notice that the price of the next BUY is slightly higher. This means that as the supply of SEEDs goes down, the price rises. And the opposite when a SELL happens.
In relation to the constant product function, each time the supply of gold (X) or the supply of seeds (Y) increases or decreases, K (which is X * Y) should stay the same. It does that by changing the "price" (which is the conversion rate between the GOLD and SEED).
At a very high level, the price of a crop (in zGOLD terms), is based on the supply and demand of that crop. If there is way more supply of a crop than the number of people who want that crop, the price is going to lower. If a lot of people want a crop, the price rises.
Each crop's liquidity pool exhibits a slightly different pricing function which causes the price to start at a different point as well as behave differently with each incremental buy or sell.
Below is a very tangible example looking at the pricing function for wheat vs the pricing function for roses.
The way this can be interpreted is by first comparing the K-values in these two functions. The rose pricing curve's K-value is roughly an order of magnitude large than that of the wheat pricing curve. Given that these both start out with the same number of seeds in the liquidity pool (42,741 seeds), the major difference is the amount of gold in each specific liquidity pool. In the roses liquidity pool there is 5,495,210.37 zGOLD vs the amount of gold in the wheat liquidity pool is 600,938.46 zGOLD. This results in two major outcomes:
roses start at an initially much higher price and
the wheat price is far more sensitive to price changes relative to the degree of sensitivity to buys/sells of roses.