Redeem bonds
You can settle any outstanding bond of yours at its full maturity value, before or after its maturity, without the holder’s cooperation. The value goes into the redemption escrow, credited to the holder, and the bond leaves their portfolio. You never need this to pay a matured bond, a funded contract is enough and the holder redeems it. And it is never to the holder’s detriment, before maturity they are paid ahead of schedule, and after it the amount is the same and only the place they collect it changes.
Why you would
Section titled “Why you would”Three cases. The first is your terms. While any bond is outstanding the rate and the issue size can only fall, the maximum duration cannot rise and the buffer can only rise, and those locks lift only at zero outstanding bonds, see Terms and what can change. Settling the bonds that stand in the way is the way through. The second is a matured bond its holder never redeems. It keeps counting as outstanding for as long as it sits there, and the locks and the withdrawal bound with it, and redeeming it is your only way to settle it without them. The third is a default. Everything else is frozen, the redemption stays open, and settling every remaining bond at full value is the fastest way out. Then you clear the default, a call on the contract the app has no button for yet, see Default.
Where and how
Section titled “Where and how”In the Owner Controls card, under Issuance, press Redeem Bonds. It is held with “No bonds issued” until your Coffer has sold its first bond, and it stays open in a default. The panel opens as Redeem with the note “Select bonds in the list on the left. You pay out their remaining agreed amount now.” The list is the Issued table on the left, which shows Active bonds by default, switch its pills to Matured for the matured ones. Tick the bonds you want, or the box in the header to take every bond that can be redeemed, which is every active or matured bond that still has a holder. The table reads Bond, Holder, Value, Remaining and Status, and the panel keeps two totals, Selected and Pay-out. The pay-out is the sum of the selected bonds’ remaining values, which is their full maturity value unless a partial payment in a default already lowered one.
What you send
Section titled “What you send”The Coffer’s own balance pays first. The Value to send field opens on the exact difference between the pay-out and what the Coffer holds, and on zero when the balance covers it. The note under the field says which, “The Coffer holds … ETH, which covers the pay-out of … ETH. You send nothing, and any surplus stays in the Coffer.” or “The Coffer holds … ETH. The pay-out is … ETH. You send the difference, … ETH, and any surplus stays in the Coffer.” with your figures filled in, what the Coffer holds rounded down and what is owed rounded up, so a figure copied from the note is never short. Below the difference the field says “Amount is below the minimum (… ETH).”, above your wallet after gas it says “Amount exceeds the maximum (… ETH).”, and Max fills that ceiling. Send the difference and no more, a surplus stays in the Coffer without raising the issue size, and you take it back through Withdraw · Execution on the Funds page.
Confirm
Section titled “Confirm”Press Redeem Selected Bonds. The button reads Confirm in wallet while your wallet asks, Processing… while the transaction is in flight and Syncing… until the app shows every selected bond burned. The toast “Bonds redeemed” appears at the receipt, the selection clears once the sync is through, and the panel stays open for the next batch. If that takes too long, the panel says “Transaction confirmed but server sync timed out. Please refresh.” The batch is all or nothing. If the balance after your value arrives does not cover the whole pay-out, nothing is settled and the app shows “Contract balance is insufficient to cover bond maturity values. Send ETH with the transaction to cover the shortfall.”
What changes on chain
Section titled “What changes on chain”Each settled bond’s record is deleted and its NFT burned, and the count of outstanding bonds drops by the batch. The issue size does not move, settling a bond never does, so the capacity those bonds took comes back only through a new deposit. The version does not move either. The maturity values go to the redemption escrow, one contract shared by every Coffer, credited to each bond’s holder by address. If you hold one of your own bonds, bought on the marketplace since you cannot buy from your own Coffer, redeeming it credits you like any other holder.
What the holder sees
Section titled “What the holder sees”The bond leaves their portfolio and its pill reads Redeemed. In its place the app shows them a banner, “You have … ETH” “from validator-redeemed bonds. Claim it from your wallet.”, and the claim itself is the Claim entry in their wallet menu. One claim pays everything credited to their address, across bonds and Coffers, and there is no deadline. The rest is on Claim escrowed funds.