Blockchain has already begun dismantling the status quo of corporate financing through Initial Coin Offerings (ICOs). Where startups once had to give away equity and agree to prohibitive terms and royalties from lenders and venture capitalists to raise funds, they can now instead simply create a smart contract to do an ICO. Every time ETH (Ethereum tokens) are sent to the contract address, the contract issues newly minted tokens that are automatically sent back to the sender.
Instantly, VC firms and investment banks have been made redundant, and you can now find the names of venture capitalists among the ranks of pre-ICO investors (see the upcoming Telegraph ICO). ICOs have removed the middlemen and entry barriers for new small startup companies, but what about for mature corporations that have already peaked in growth and cannot risk diluting existing equity holders' shares?
Spurred by seeing the impact of blockchain on traditional Venture Capital fundraising via Initial Coin Offerings (ICOs) for startup companies, we began thinking about what blockchain could do for businesses at more mature stages of growth.
While smaller and growing companies tend to raise capital by offering equity - or in the case of ICOs, digital tokens - in exchange for funds, more established companies traditionally opt to raise capital by offering corporate bonds. Like traditional IPOs and funding rounds, this depends on an investment bank to issue the bonds and sell them to pension funds and asset managers. Investment banks hold the balance of power in these transactions as the gate keeper between the investor and the issuer. But as ICOs have shown, these intermediaries may no longer be necessary.
What it does
We've built a smart contract and interface that enables an issuer (a corporation) to offer a bond for auction given the target funding they would like to raise, the maturity date of the bond, and the maximum coupon rate they are willing to pay out. Given these parameters, they can initiate an Initial Bond Offering (IBO), allowing the public to bid for a bond from the issuer with the amount of principle (in ETH) that they'd like to invest and the minimum coupon payout rate they are willing to accept.
The Order Book - or the list of investors to receive bonds - is filled in order of the lowest coupon rates offered by the bidders which are below the maximum rate offered by the issuer until the target funding level is met. If the target is not met by a set period of time, or if the order book is filled without a bidder's investment, the investors' ETH is refunded.
If the order book is filled, the collected funds are sent to the issuer, and the issuer maintains a minimum level of funds in the smart contract to be able to pay out the semi-annual coupons to the investors.
How we built it
A smart contract was built with the ability to accept the parameters for an IBO, to broadcast resulting bonds available for bidding, accept bids, automate the filling of the order book, determine when to refund investments, issue bonds, and to automate the payout of coupons to bond holders, as well as the face value of the bond at maturity.
The front end interface to the system was built using react with multiple UI frameworks and the Drizzle framework to integrate web3 and listen to the smart contract.
Challenges we ran into
Walking in with minimal knowledge of both smart contracts and the technologies used to interface with the blockchain such as Drizzle and Ethers, the learning curve involved presented a barrier to our productivity.
We also thought of several cases where users may be incentivized to exploit the system and needed to rework the system to incentivize players on both sides to play fair.
Accomplishments that we're proud of
Through working on this project, we successfully:
- Built our first major Blockchain and Ethereum application
- Built a complex smart contract with 14 services
- Devised a system with consideration to moderate the behaviour of both issuers and investors
What we learned
- Learn and Understand the underlying concepts and technologies involved in blockchain
- Debate the considerations involved in incentivizing proper behaviour by users in a system
- Compare the advantages and shortfalls of different technologies (ie. Ethers vs. Drizzle, React vs. Vue)
What's next for SmartBond
We intend to expand upon this foundation by securitizing loans traded on this platform into synthetic financial products, offering transparent, more fault-tolerant, version of a mortgage-backed security on the blockchain