We are looking into extending Cryptostocks.com
with additional features for issuing and managing bonds. But before proceeding with the implementation, we seek your input regards to what features you'ld like to have.
Before going to the feature list, the main question is whether a specific functionality to manage bonds is required at all?
Generally speaking, the current functionality should be able to cover most requirements:
1. The contract details can be put into the description field of the security. You would put your face value, the coupon, the expiry date and all other details there.
2. Paying coupon: same as paying the dividend functionality currently available
3. Calling back / buy back the bonds. You can place a buy order. Although it will be up to the bond holders to sell back to you, but once you stop paying the coupon, there should be no reason why anyone would not sell back the bonds.
4. Expiry date: Update the contract, stop paying the dividend, that should do the trick.
I know, some of the methods are a sort of workaround, but it keeps the exchange as simple as possible to use. Alternatively we could pursue an implementation of bonds with the following features:
a) Define face value and coupon: no change possible after issuing the bonds
b) Define expiry date: no trading allowed after that date
c) Callable/buy back rate: When bond issuer calls back the bonds, the bond holders get the defined value credited. Bond issuer can only call back the complete bond
d) Coupon payment: Automatic coupon payment at the defined intervals (weekly, monthly, quarterly, half year, yearly)
e) Bond holders can sell back bonds to issuer at face value: Challenge here is how to ensure the bond issuer has sufficient funds deposited with the exchange to be able to pay all requests.
Let me know what you think, so we can design the solution based on the community feedback.