Live since June, Bzzaar, an exchange platform launched as a means to buy and sell BZZ, takes a unique approach to kickstarting a new token economy. Unlike typical buy and sell platforms, Bzzaar doesn’t rely on traditional market makers for users to exchange BZZ but rather makes use of a bonding curve to instantaneously complete transactions.

New projects can easily call the contracts to their own interfaces allowing the creation of a front-end modal to hold the exchange. With this, projects that require BZZ can provide their users with an exchange interface that calls the Bzzaar’s contract functions. The bonding curve belongs to the community and serves to fuel all and any project created on Swarm.
What Is A Bonding Curve?
A bonding curve is a mathematical function in the form of y=f(x) that determines the price of a single token, depending on the number of tokens currently in existence, or the market supply. The key difference is that with a traditional exchange platform market makers are required to provide liquidity to the market, whereas a bonding curve takes over the role of providing liquidity, negating the need for market makers.
ELI5 — Bonding curves are smart contracts that can mint or burn tokens according to a previously determined equation. The equation is a graphable curve that defines the relationship between the token’s price and its supply — where the price of a token increases with supply.
Let’s elaborate on this. On a traditional exchange, market makers use the available pricing data of users wanting to buy and sell tokens, actively adjusting the price so that token purchases and sales can happen instantaneously. Users can set buy and sell orders to ensure that transactions only occur when a token reaches a certain price, and unfortunately, this may never occur.

Figure 1. A traditional market maker exchange platform
With the Bzzaar’s bonding curve, new tokens are minted when purchased by users and burned when sold to the exchange. This creates an autonomously fluctuating exchange where the price is actively adjusting. As users buy tokens, the price of the next token increases, and only decreases when users sell tokens back to the bonding curve. Since the bonding curve equation is known, token prices are predictable and are dependent on the market supply at any given moment.

Figure 2. How a bonding curve determines token prices
A Summary Of The Benefit Of Bonding Curves
Besides the speed at which purchases and sales take place, a bonding curve has a few other benefits:
- Resilience to manipulation: The Token’s value is far more resilient to outside influences attempting to manipulate its price, such as pump and dump schemes. This is because the bonding curve protects users from panic selling by ensuring every token is sold at a predictable price.
- No third-party market makers: Since the price of each token is predetermined by the bonding curve, there is no need for any market makers. The bonding curve itself acts as an automated market maker.
- Immediately reacts to demand: Since the bonding curve can mint and burn tokens, the price of a token is immediately adjusted to its demand.
Fair distribution: Bonding curves have no validators, negating the need for additional tokens to be minted as validator rewards. This leads to no inflation rate or inflation scheduled. Node operators are rewarded from the existing token pool for providing bandwidth and storage to the ecosystem.
Using a Bonding Curve
Now that we have discussed what a bonding curve is, let’s look at how you, as a user, can interact with the bonding curve. The most basic calculation we can make using the bonding curve is calculating the most cost of one token at the current token supply. All we have to do is substitute the current token supply value in for x (or s) in the equation
However, users will rarely want to purchase a single token, and calculating the individual cost of each token they want to purchase can become tedious. Let’s look at an example where a user wants to buy b amount of tokens when the current token supply is at a;

Figure 3.The area under a curve
We know that if we add the value of each value for token supply from a to a+b together, we can calculate the area under a curve. This is impractical for large purchases; an easier method is to use calculus. In calculus, the area under a curve is determined by taking the integral of your function.
For example, our function (not the actual price function of bzzaar) takes the form of:

The integral of our function will then be:

Where y is the total cost of purchasing b amount of tokens.
The same technique can be used to help users calculate how much they would receive when selling b amount tokens back to the bonding curve:







