An introduction to bonding curves, shapes and use cases
What is a bonding curve, how do they work, what are the different shapes you can use, and what are those shapes best suited for?
This article assumes that you understand the basic concepts of tokens — If you are unsure of what a token is, please read this article first.
The basic concept of a bonding curve
The core concept of a bonding curve is quite simple: The price of a token is determined by its supply. The more tokens that have been distributed, the higher the price.
A basic bonding curve
The above bonding curve is linear, as the line is straight (see other shape descriptions below). Bonding curves allow for a fix and predetermined price discovery mechanism, that is set in blockchain stone and cannot be cheated.
This increasing linear curve model (above) means that if you buy when the supply is low, you will pay much less per token than when there are lots of tokens. If you buy when there are already lots of tokens in existence (high supply) then you will pay a lot more for each token than you did when the supply was low.
You can “buy up” a curve, meaning you mint (buy) new tokens, and because this increases the current token supply, the price moves up. You can also “sell down” a curve, meaning that as you are burning (selling) tokens, you are driving the price down by decreasing the supply. Let’s look at an example to further explore this concept:
Basic interactions with the bonding curve
The purple arrows represent Sally. Sally buys 10 tokens. As we can see from the price and supply axes, each token costs more than the last. For the first token, she will pay $1, for the second $2, for the third $3 and so on. This means for her 10 tokens she will pay $1+$2+$3+$4+$5… totaling at $55. The price she will pay in total can also be worked out by calculating the area under the curve. In this case, the “curve” is a linear curve, but not all curves use a straight line.
There are also green arrows. These represent Fred. Fred also buys 10 tokens, but as Sally has bought tokens, she has pushed the price up by increasing the supply. Meaning instead of Fred’s tokens price starting at $1, it starts at $11. Instead of Fred paying $55 for his tokens, he will pay $155. If we were to calculate his price by the area, we would start with the area under the 11th token to the 20th.
Let’s say Sally sells her 10 tokens after Fred bought his. This means that she will get an amount back according to the area under the curve, starting from the top (the current supply). This means Sally will get $155 back for her 10 tokens because that is the current price range for those tokens set by the curve. This means that she makes $100 in profit for selling her tokens. If Fred tried to sell his tokens after Sally sold hers, he would only get $55 back for his tokens, as the price has gone down because the supply has gone down.
Core take away: The supply of tokens determines the price.
Different curve shapes
In general, a bonding curve can be any positively increasing function.
Developer note: Be warned, implementing complex math formulas in Solidity is gas expensive and becomes very complicated very quickly. If you want to implement a complex curve I would recommend looking at Vyper.
Bonding curve shapes are used to incentivise the market (interested individuals/organisations). This means that you should match the behaviour you want from investors to the type of curve that incentivises that behaviour. Below we will look at some of the most popular curve types as well as some fun examples to demonstrate their incentive mechanisms.
Sigmoid (top left):
Let’s say you have a meme that you think is going to go viral. You upload your meme to a modified version of Meme Lordz with a Sigmoid curve instead of a consistently increasing linear curve. This allows you to reward people who recognised early on that your meme would go viral since the price goes up sharply after reaching the inflection point (where the price goes up sharply) of the supply curve. Those who bought after the inflection point are considered mainstream adopters, so don’t really get rewarded for investing late.
The shape of the sigmoid curve allows you to heavily reward early investors while heavily charging late investments.
Negative Exponential Curve (bottom left):
Let’s say you want to run a Kickstarter like fundraising. You want to incentivise early investment, but you don’t want to actively disincentivise late investment. Using the negative exponential curve you can do just that.
The shape of a negative exponential curve allows you to incentivise early investment without heavily disincentivising late investment.
Bonding curves can be customised to fit most situations.
A capless bonding curve is a bonding curve where no maximum token supply is specified. This means that the curve can indefinitely continue to issue new tokens when demand is there. This can be useful for markets where you wouldn’t necessarily know the upper bound of interested /organisations. For example, if you made a lottery where the ticket was a token, you don’t want to limit the number of tickets/tokens that can be sold, so instead of having a fixed token supply, you have an uncapped market.
If you wanted to use a bonding curve as a mechanism for fundraising, you need to be able to withdraw collateral (what you pay for the tokens with) from the bonding curve. A buy tax means that you can take a percentage of the collateral for every buy and move it to a different contract/wallet, allowing you to raise money from your bonding curve without having to de-collateralize the distributed tokens. A sell tax, on the other hand, means that token holders pay a fee when they sell tokens rather than buy Lastly, one can tax both sell and buy interactions with the bonding curve contract.
Bonding curves come in all shapes and sizes. They allow for a fixed price discovery mechanism that cannot be cheated (by nature of the blockchain) and is completely transparent. Bonding curves can be changed and customised to create very specific incentives and models.
Bonding curves can be used to measure attention, raise funding, make bets, and that is only the tip of the iceberg. Bonding curves have a great potential to disrupt traditional finance and have played a major role in the current boom of DeFi (decentralized finance) dApps, protocols and projects.
If you would like to dive further into designing token bonded curves, I would recommend this great article about choosing your bonding curve parameters.