Maturity Redemption
When the underlying bond reaches its maturity date, principal is registered for holders and they redeem the principal against their Bond Tokens. This is the standard end-of-life redemption path for the product.
Maturity Redemption Flow Diagram
How Maturity Redemption Works
The maturity process combines traditional settlement with onchain principal distribution:
1. Principal repayment
The bond issuer pays principal into the regulated segregated account (the "Cell") administered by Ensuro Re Ltd. at maturity.
2. Currency conversion
Funds are converted from fiat currency to stablecoins where applicable.
3. Onchain principal registration
The Distribution Safe (Admin in the diagram above) calls Distribution.setPrincipal(principalAmt). The contract reverts if the bond has not yet reached maturity (block.timestamp < maturityDate). Commission is deducted using the immutable principalCommissionBps set at deployment time per Bond Token and distributed to Bondi and its configured distribution partners; the net principal amount is stored onchain. Once registered, principalSet = true and principal redemption is immediately live, holders can call redeemPrincipal directly on Distribution.
4. Holder redemption
Wallet holders with valid KYC call redeemPrincipal on Distribution, burn Bond Tokens, and receive their pro-rata share of net principal. Vault share holders (vbtXXX (Reinvestment Vault) and RV shares (Redemption Vault)) follow separate settlement paths through their vault contracts rather than calling Distribution directly. See right below.
Vault Settlement at Maturity
Vault share holders are not Bond Token holders directly, their positions settle through the vault, not through a direct redeemPrincipal call on Distribution. The diagram below shows both paths once principal is deposited and registered onchain.
Redemption Vault (RV shares): Bondi Admin Safe triggers redeemPrincipalFromDistribution on the vault batch; the vault calls Distribution internally, Admin fulfills the batch, and the relayer redeems each depositor's RV shares. Applies when Bond Tokens are still in the pending batch at maturity, see Redemption Vault outcomes, outcome 3.
Reinvestment Vault (vbtXXX): At maturity, the holder exits through redeem or withdraw on the vault (not by calling Distribution directly. KYC-verified holders receive all stable (principal redeemed from Distribution plus any pending coupon or call stable); non-KYC-verified holders never receive distribution stable) principal is paid as Bond Tokens, pending coupon or call stable is swapped to Bond Tokens or recorded as entitledStable, and principal is redeemed at Distribution after completing KYC. See Compliance at Reinvestment Vault Exit.
Maturity Redemption Features
- Pro-rata distribution: Each token redeems for its proportional share of registered net principal.
- Onchain verification: Principal registration and redemptions are recorded onchain.
- Maturity Redemption Fee: Applied when principal is registered; holders receive net amounts. See Fees.
- Solvency accounting: Principal is registered onchain with explicit liability tracking. Redemptions are bounded by the registered principal liability, payouts can never exceed the principal set aside for distribution.
Maturity date updates
If the underlying bond issuer extends the bond's legal maturity in traditional markets before principal is registered onchain, the Admin Safe calls Handler.extendMaturity(newDate) to mirror that date onchain. Bondi does not unilaterally extend maturity, the onchain timestamp is updated only to reflect a change already made by the issuer in the underlying bond markets. Extension is only permitted while principalSet is false, the new date is strictly later than the current maturity, and no bond-call freeze is active. Once principal is registered, maturity is final.
If the issuer instead redeems bonds ahead of the scheduled maturity date, that is an issuer bond call (partial or full) so not handled through maturity redemption. A full call retires the entire outstanding issue at the contractual call price.
Unclaimed Principal Safety Net
The standard path is for holders to self-redeem via redeemPrincipal(burnAmt) on the Bondi frontend. This section describes a safety-net measure for holders who have not redeemed long after maturity.
After relayerPrincipalRedemptionDelayMonths have elapsed past the bond's maturity date (default: 12 months), Bondi's relayer may call redeemPrincipalForUser(user, burnAmt) on behalf of any holder who still has not redeemed. This is not a routine operation, it is a last-resort mechanism to ensure no holder's principal is left permanently unclaimed. The holder receives the exact same payout they would have received by self-redeeming. This delayed safety-net path is wallet-only: it is not used for vault positions. Redemption Vault positions are settled by Bondi promptly after maturity, and Reinvestment Vault positions are settled via users calling the vault's standard redeem / withdraw flow (which routes to principal redemption once principalSet is true).