This standard proposes an generic interface for creation , management of the financial bonds between issuers and redeeming parties on blockchain , in a way which is :
- efficient to evaluate / modify the state throughout the lifecycle of the bonds .
- being (nearly*) independent of off-chain data for management of the issuance and redemption.
- and are Decentralized in terms of creation / management vis a vis current alternatives.
Bonds have been one of the most prominent fixed rate instruments by volume in the overall debt securities market of traditional markets . (ref) .Majorly issued by the world governments , so that their stability in returning is considered as a major factor for stability of the currency and monetary policy.
Similarly in DeFI , from major projects like olympus DAO are issuing specific type of fixed rate bonds for LP tokens, to more institution / Real World Finance Adoption like Societe Generale issuing bonds as guarantee for an loan to makerdao(here) , bonds are going to be the next prominent asset class to grow adoption of defi after swaps and staking .
These instruments are divided into various classes , based on the nature of the bond redemption (Fixed rate or floating rate APY) , stability , etc , and each class the bonds are identified in terms of Nonce (id’s , serial number listing as explained in BONDS | BOND MARKET | PRICES | RATES | Markets Insider
Apart from that , Generic bonds minimally consist of following information :
- Debt metrics ( represented as supply) :
- Active Supply : this is the current active debt obligation that has to be settled by the current redeeming party .
- Redeemed Supply: this supply corresponds to the amount of the given debt of the bond already redeemed
- Burned supply : consist of the part of the bond debt that is being cancelled / is being invalidated .
Info describing the information about the nature of classes , this includes the nonceInfoDescription , details concerning the
But this adoption in DeFI is lagged due to various factors , primarily factors being :
Lack of interoperability between the different bond markets :
- Inefficient : each bonds deployed (like LP’s) need the instantiation of factory of contracts which are dependent in order to do issuance and redemption of the bonds , this cause fragmentation of the liquidity pools and needs more gas fees for transferring & optimising liquidity , along with issues like ILP.
- offchain dependence of the data for issuance / redemption of the bonds
In order to solve the issues , we have defined the data structure to store the state of the bonds in an gas and storage efficient way , along with the functions to maintain the lifecycle /transfer and redemption of bonds.
for reading further about the EIP standard check the review version here.
example of the minimal implementation with tests are in the same repo, feel free to review and ask queries .