Standard Convertible Bonds

How it works


A Convertible Bond is first deployed by an owner with the following immutable arguments:
  • bondSlip(): Slip Object which represent IOUs on the underlying SafeTranche
  • debtSlip(): Slip Object which represent IOUs on the underlying RiskTranche
  • penalty(): uint256 representing the penalty fraction that's paid by borrowers redeeming RiskSlips if they do not repay
  • stableToken(): Token Object which is the repayment stable token for the SafeTranche (ex. USDT, USDC, etc.)
  • trancheIndex(): uint256 representing the index of the SafeTranche in the underlying ButtonBond

Active Period

When the owner decides to, they can "activate" the CBB with an initialPrice. This represents the inital repayment price for the SafeTranche. After the CBB has been activated, the price of the SafeTranche will linearly scale until maturity, after which it will be $1.00.
During the active period, borrowers can repay their loan at the currentPrice() in order to get their full collateral back in return. Lenders can redeem their BondSlips for any stableToken() that have been repaid to the Bond Box.
Lending & Borrowing is allowed during the active bond period at the currentPrice() as long as a "matched" order is provided (i.e. both the collateral and stabletoken is provided by msg.sender).


After maturity, borrowers can still repay their loan for their collateral at the rate of $1.00. If a borrower cannot repay their loan, they can instead redeem each DebtSlip for 1-penaltyRatio of their RiskTranche collateral.
BondSlip holders can redeem their slips for the SafeTranche and any penalty RiskTranche that has been forfeited by borrowers. They can also continue redeeming for stablecoins that have been repaid to the BondBox.