Envisage the following scenario:

  1. You are running a business, which requires a float to operate.
  2. Your float is x amount of USD
  3. This float yields a annual revenue of a XXX amount of USD
  4. This float costs you %x annually to maintain
  5. You want to decrease the %x of our maintenance cost
  6. This will increase your revenues from a smaller float maintenance cost to a larger float.
  7. You are looking to give away interest on capital (float from 10% for two years.
  8. This means that for two years, whatever money you get from people, you will give them a 10% return and their money back at the end of the period.

Just had a read of the following venture and the following scenario popped in my mind. Any idea on how bonds can be issued on Ethereum?


That would be an ethereum contract, supplemented by an auxilliary exchange (ethereum contracts deal in ether (or an ether-derivative token only), so you would need to exchange ether into a fiat currency and vice versa for the bond to work in the real economy). There’s the question of collateral, but there are lots if possibilities there (even issuing tokens as shares of the company).


I'm not financially educated so I won't answer for the revenue cost. But I can answer how timed contracts work.

Use block.timestamp or now keyword

It returns the timestamp of the block in which the contract exists

If I understand your problem correctly you want to send people some coins which x% of their money plus their total money. Here's what you can do:

  1. Store the amount of money each individual contributed in a mapping, address to unit
  2. Store the timestamp of the block when they actually send the money, address to unit
  3. A global variable with time 2 years
  4. Now the problem is how to identify for which person 2 years have passed.
  5. Call a method periodically from a web app, the method should loop through all the addresses and check if the sum of 2 years and time corresponding the Individual from the mapping is less than now, if it is transfer them money according to the calculations.

Same idea can be extended to tokens, intermediate coupons (just another struct) and adding interest to the persons account.(using months time)


Using smart contracts allows you to go much further than most classical finance scenarios, which were and still are limited by practical and logistical factors.

A smart bond could be infinitely more flexible if you wish. But to start with your basic requirement, I suggest you adopt a withdrawal pattern, where investors are allowed to claim their bond by themselves, at any time they wish after 24months have passed.

Then to avoid any liabilities for prolonged custody, you could define a deadline after which you will force-claim the bond for the user. Now instead of needing to run an expensive operation every day, you only have to do it once in a period proportional to that deadline, and there's a good chance it will come much cheaper, since many people will have self-claimed.

This method simplifies many aspects of reasoning and development, saves gas and drastically reduces the attack surface on your smart contract.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.