Gaming currencies have the following problems:
The centralization of web2 gaming currencies prevents players from recovering the money and effort invested.
The volatility and scarcity of web3 gaming currencies has caused rampant speculation. This has raised entry barriers and limited the ability of creators ability to monetize their content properly.
The web3 creator's currency must be stable and decentralized. How can we create a currency with these characteristics? Let's start with a practical example.
Dialogue of a creator buying a stable and decentralized currency
COCOTERO (decentralized market maker): I am selling $COCO at 0.18$.
CREATOR: I want 2 $COCO, take my 0.36$ in $USDT.
COCOTERO: Here you go, I create two new $COCO, send them to you, and keep the money you gave me in my decentralized piggy pocket.
CREATOR: Thanks! But now I want to sell 1 $COCO.
COCOTERO: How convenient, I buy COCO at 0.18$. Give me your COCO, I burn it, and withdraw the money from the piggy pocket.
CREATOR: Do you always buy and sell COCO at 0.18$?
COCOTERO: Yes, COCO has a stable price of 0.18$.
Bonding Curves
The player buys and sells at the same price, and COCOTERO acts as a decentralized market maker in this operation. How do we do this in a smart contract? With the design of bonding curves, where the token price is determined by a function of its supply.
Features:
Predefined and transparent price: the price is defined by a mathematical function in the smart contract depending on the amount of minted tokens.
Immediate and decentralized liquidity: for every existing token, there is a collateralized counterpart backed by a stablecoin.
The price of our hypothetical stable token would be a constant function —always 0.18$— regardless of the token supply.
Users can buy (or mint) tokens directly from our smart contract at the price (in stablecoin) determined by the curve. The stablecoins that users have paid will be added to a decentralized liquidity pool, from which users who want to sell (or burn) their tokens can receive the stablecoin in exchange.
PRO version
You might think that poor COCOTERO doesn't make any profit from buying and selling COCO at a stable price. In fact, he could just use a stablecoin directly for that.
I can think of three ways to monetize COCOTERO's business:
Token reserve
Sales tax
Dynamic price until stability point
Token reserve
COCOTERO can finance itself by pre-minting tokens for its team, project, and community. Almost all web3 projects raise money through public and private token pre-sales. This is an alternative way to finance a project similar to a startup funding round.
A certain amount of token ownership and power is reserved in advance that can be used at the discretion of the project or community to pay for expenses. I'm sure you're all familiar with the famous tokenomics pie chart for each token:
However, mismanagement of these assets can harm the token economy. If the tokens are not backed by other crypto assets or real counterparts, the price can be very volatile under large liquidity withdrawals.
Sales tax
COCOTERO could charge a commission for its service. For example, every time someone sells COCO, the market maker establishes a tax of 2% of the total.
This is a good long-term solution when the token has matured enough to have a considerable and stable volume, but limiting in the short term.
Dynamic price until stability point
The logic behind the previous COCOTERO model is that the money coming in is equal to the money going out. However, this does not have to be the case, and there are alternatives that can be used as financing to develop our project.
Can we define a currency that first increases in price — to make it an early purhcase opportunity— and then becomes stable —to make it accesible? Let's see it with a practical example:
CREATOR: I want to buy 1 COCO.
COCOTERO: Today is launch day, and we are selling COCOS at $0.02. The more COCO people buy, the higher the price.
(5 days later...)
CREATOR: I want to buy 1 more COCO.
COCOTERO: We have sold 10 million COCO, which is worth $3 million. The price of COCOS is now $0.15.
(2 days later, crisis)
CREATOR: I want to sell 1 COCO.
COCOTERO: Some people have sold their COCO, and there are now 5 million in circulation. The price of COCO is now $0.07.
(1 year later, success)
CREATOR: I want to sell 1 COCO.
COCOTERO: We have now sold over 100 million COCO, and therefore we have set the selling price at $0.18 from now on. Here is your stable token.
CREATOR: Thank you! I bought COCO when it was worth $0.02, and now I have multiplied my investment by x9.
COCOTERO sells tokens in two clearly differentiated phases:
First, as people buy tokens, the price also increases. If there are sales, the token's price decreases. That is, the more tokens minted, the higher the price and viceversa.
After 100 million COCO, the price is fixed at $0.18, and any new purchase or sale of the token is at that stable price.
In this way, buying tokens in the early stages will have a lower price compared to what it will reach when the project is mature and stable.