Zero Coupon Bond

Docusaurus with Keytar

Introduction#

You work in the business department of a law company which uses an online solution to deploy DeFi contracts on the Tezos blockchain.

Today you are deploying a Zero-Coupon Bond contract from the tailord template. Fill in the contract parameters and deploy the smart contract.

The holder (or subscriber) of a Zero-Coupon bond provides the bond's present value to the issuer and gets redeemed at maturity date of its face value.

In this example DApp, the present value of the bond (value at which the bond is traded) is computed as the face value (value at which the bond is redeemed at maturity date) minus a discount percent of face value.

The schema below illustrates the two steps of the bond:

Docusaurus with Keytar

DApp#

Smart contract#

The Zero-coupon bond's business logic is anchored with a smart contract on the Tezos blockchain.

The smart contract is designed with the Archetype language as a simple state machine for clarity purpose toward involved parties:

Docusaurus with Keytar

The smart contract's entry points are the state machine's transitions:

  • sign: called by parties, transitions from *Created* to *Signed* when both parties have signed; holder must transfer *present value*
  • terminate: transition is validated when called by issuer after maturity date and before end of payback perdiod
  • dispute: transition is validated when called by holder after end of payback period

Dates and periods are illustrated in the schema below:

Docusaurus with Keytar

The smart contract's implementation is presented in this section.

Architecture#

The DApp is made of:

  • an online editor and its content servers
  • deployed smart contracts
Docusaurus with Keytar