Permissionless bond (DAO debt instrument) issuance and marketplace.
BondFi is a Defi platform that allows bonds to be issued by anyone. Currently, BondFi implements zero coupon bonds as the main bond instrument. In future releases, we will allow a variety of bonds.
BondFi is an any-collateral platform. Any-collateral means that the bond issuer has control of how much collateral they will put up and it is up to the lenders to accept their terms. We believe this flexibility will give us a base platform where we (or anyone) can build on top of.
The main goal was to allow DAOs to issue bonds but currently, anyone with an Ethereum wallet can create bonds.
BondFi is made with:
Next.js as our frontend framework
Hardhat for our contract framework.
Metamask and walletconnect for the wallet provider
The Graph for our graphql api
Tenderly for contract testing and stimulation
Challenges
Our biggest challenge was on the Solidity parts of the project. Even though the logic was straight forward, the implementation in the Solidity language often caught us off guard. There are language nuances to Solidity that forced us to do additional research. One of them was a vague error called “Stack too deep.” Upon further research, we found that this error was caused due to too many variables being used in our function parameters. The solutions were hacky but they worked. We utilized block scoping, structs, and additional functions to get around the stack too deep issues.