A Dynamic Token is an Exchange Token that uses a Dynamic Reserve Ratio (DRR). The DRR creates the desired effect of token stability and liquidity, while creating an alternative funding model to Initial Coin Offerings (ICOs). Dynamic Tokens replace static Reserve Ratios with an immutable function that adjusts a Token's Reserve Ratio overtime, based on specific inputs connected to the demand of the Token.
To understand the potential significance for Dynamic Tokens, it is useful to quickly review the evolution of Token Models overtime.
Initially, fixed-supply tokens, often associated with ICO-funded projects during the 2017-2018 ‘ICO boom’, set their tokens supply at the time of token sale. These tokens often set an arbitrary ‘cap’ on the amount to be raised – effectively setting, or at least targeting, a large, predetermined market capitalization for the token and the project. In this model there is no reserve (backing of the token) with real world value, making the token price vulnerable to major volatility. Price swings are especially volatile if a project utilized clever fundraising mechanics, like daily token auctions or double dutch auctions, in order to create a sense of artificial scarcity to quickly reach their ICO fundraising cap. Most importantly however, the challenge with this model is that after the completion of the initial sale, 100% of proceeds were provided to developers, irrespective of any actual usage traction or demonstrated viability.
More recently, token architectures with a bonding curve and a static reserve ratio have shown the possibility of greater liquidity and price stability by partially backing tokens with underlying reserve assets that hold real world value. Unlike with a fixed supply token, in this model there is no single funding event. The project is funded continuously over time in accordance with the growth of its token economy. While this approach supports token holder confidence, it can make it challenging for projects to receive the optimal amount of funding overtime and can negatively impact price. In this model the only way to create operating capital is to set aside an initial supply of token that must be eventually sold back into the economy, creating downward pressure on token price and potentially signaling a loss of confidence from the project's developers.
Today, we are witnessing the maturation of a vast number of DeFi (Decentralized Finance) protocols, of which ‘stablecoins’ and 'synthetic asset protocols' are a major component. These token models use over-capitalized reserve ratios – 150% in the case of MakerDAO, and 750% in the case of Synthetix – to combat the price volatility of crypto-assets relative to underlying currencies (such as USD or Gold). These protocols incentivize individuals to hold and maintain a certain ratio of assets in decentralized liquidity pools, which is used to back (and peg) the value of their token. While these protocols are useful for decentralized stablecoins, derivatives and loans, they are not especially useful for funding projects, due to the fact that they have no upward price mobility relative to the value of their underlying assets.
Dynamic Tokens simultaneously solve the token funding and volatility issue by combining a number of mechanics from the previously mentioned token models. Dynamic Tokens use a bonding curve that partially backs the token with one or more underlying reserve assets, which dynamically changes its reserve ratio over time based on supply and demand. This is achieved by automatically transferring 'excess reserves' to a specified smart contract, such as a multisig contract or DAO, based on the function specified in the DRR. Excess reserves in this context are referred to as the available Reserve Tokens no longer required 'to back' the Exchange Token given that a certain demand threshold has been hit based on the parameters of the DRR. Perhaps most importantly, this is all done without impacting the token's market price.
Dynamic Tokens can adjust their reserve by the contract owner calling the reduceWeight method on the Dynamic Token contract. A Dynamic Token is initialized with four parameters in addition to a regular Exchange Token:
- Minimum Reserve Ratio: The smallest possible ratio that the reserve ratio can be reduced to.
- Step Weight: The total amount (percentage) that a reserve ratio can decrease when calling reduceWeight().
- Market Cap. Threshold (optional): The market capitalization in which funds can no longer be transferred from the Reserve.
- Maximum Reinflation (optional): The total amount a Reserve Ratio can be reflated (increased) to once its reserve ratio has passed that threshold.
When successfully executing the reduceWeight method, tokens held by the reserve equal to the Step Weight are automatically transferred to the owner (via msg.sender) in the transaction. Conversely, once a Reserve has been reduced past its Maximum Reinflation parameter, all future token purchases will be directly deposited into the token’s reserve to stabilize the token, thereby bypassing the standard formula for token price and issuance. Once the token’s reserve reaches or exceeds its point of Maximum Reinflation, token purchases will resume as normal and continue to autonomously expand the token’s supply as per its standard formula.
Dynamic Token Elasticity and Funding
This approach enables projects to start with a high reserve ratio, and then decrease it over time as the project matures, balancing token volatility and project funding, while bolstering the confidence of early token purchasers. This mechanism bears some similarities to the 'DAICO' model proposed by Vitalik Buterin, where funds are not transferred to developers in an upfront fundraising event, but rather are dispersed using a formula based on demand for the token after it has been deployed.