High Level Workflow

A "position" is a uniquely-identified by the Uniqueness NFT UTxO that carries all of the lent ADA and/or paid interest, locked to the appropriate script (BWV, Open or Closed).

Posting an offer

To post a borrow offer the prospect borrower must specify few parameters:

  • Bond Amount: Total number of bonds being issued, each with face value of 100 ADA.

  • Epoch Rewards: This is the price for one epoch of owning the rights to direct the stake key.

  • Interest Buffer: Represents the number of epochs in advance that the loan must have its interest paid for in order to survive. Say, a month (6 epochs) of buffer would cause the position to be closed if the interest was paid for only 5 at any point. Concretely, at epoch 10 of the loan with a buffer of 6 sets, if the total Epoch Rewards accounts for 15 instead of 16 (or more) epochs, it will be forcefully closed.

  • Duration: Denominated in epochs, this is the maximum length of a loan. Currently, the only option available is 72 epochs, but we'll be expanding to other durations in the future. The position may be closed earlier if the interest payments are not made. Stake Key The first Stake Key used to stake the loan with. Can be changed later by the current owner of Ownership NFT using the Stake Key Change call. Token Name The unique token name based on UTxO spent when posting a borrow offer. Used by NFTs (Uniqueness NFT and Ownership NFT) as well as by bond tokens later on.

An offer is locked at BWV script. Until an offer gets accepted, it can be canceled by the owner at any time.

Accepting an offer and bonds issuance

A lender then comes in and sees the offer's parameters up to their expectations, decides to lend out the money. They must also provide some parameters:

  • Original Lender: This can be the lender's stake key and will be used to provide them additional staking rewards while the bond token owners move to redeem the underlying ADA + interest.

  • Start: The epoch the bonds were successfully issued. Checked on-chain.

They once again get asked to confirm and sign a transaction, in which they receive the tokens representing the amount of bonds they purchased. The position's UTxO moves to Open script, where it sits until bond closing.

Bond Maintenance

The borrower is now able to change the stake key attached to the position and the position is guaranteed to be kept open as long as its terms are met. Anyone might make margin adding calls, depositing more interest to a position. Having no restrictions on who can do that opens additional features like subsidizing bonds by third parties. Should the borrower miss payments, anyone can force close the position.

Closing a position

Once bond duration is over, or in the case there is not enough interest paid, a position is eligible for normal or premature closing accordingly. Anyone is permitted to close a position. Upon closing the UTxO moves to Closed script.

Redeeming

After being closed, the position is ready for bond tokens redemption by their holders, sitting at Closed script with Original Lender staking credentials, providing additional rewards to the original lender.

Last updated