Skip to main content

Bond Token Redemption

Redemption is the final stage of the Bond Token lifecycle, where token holders receive principal repayment (at maturity), sale proceeds (when exiting early), or call proceeds (when the issuer exercises a bond call). This stage completes the full investment journey from issuance through coupon payments to settlement.


Overview

Standard path (most holders): At maturity, the issuer repays principal, Bondi registers the net amount onchain, and holders who still hold Bond Tokens in their wallet redeem directly through the Distribution contract.


Other paths (exceptional):

Early redemption (optional, before maturity) — a holder deposits Bond Tokens into the Redemption Vault to seek an offchain broker sale. Requests pool until the combined position meets the minimum institutional lot size, at which point the batch locks for broker execution. Coupons earned during the pending period are paid at settlement or returned on cancellation alongside the Bond Tokens. An early redemption fee applies only when a sale completes; holders may cancel before the batch locks for a full return; if the bond matures first, the vault settles through Distribution instead (see Redemption Vault outcomes).


Issuer bond call — the issuer exercises the call provision, redeeming part or all of the outstanding Bond Tokens at the contractual call price (see Issuer Bond Calls below).


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 normal end-of-life redemption path for the product.

Maturity Redemption Flow Diagram

Segregated AccountSeg. Account
OnrampOnramp
AdminAdmin
Distribution ContractDistribution
Bond Token HolderToken Holder
1. Currency conversion & transfer
Onramp fiat to stablecoins
Transfer stablecoin proceeds to Distribution
Register net principal (setPrincipal)
redeemPrincipal — burn tokens, receive net principal

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 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 split among fee receivers; the net principal amount is stored onchain. Once registered, principalSet = true and holders can immediately call redeemPrincipal.



4. Holder redemption
KYC-verified holders who still hold Bond Tokens in their wallet use Bondi frontend to call redeemPrincipal on the Distribution contract to burn tokens and receive their pro-rata share of net principal. This is the standard maturity path and does not require the Redemption Vault.


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.
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.

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.


Early Redemption (Redemption Vault)

Corporate bonds trade in large minimum blocks — typically around $200,000 per transaction in the institutional market. A Bondi holder with a $5,000 position cannot approach a broker and request an early exit on their own; the lot size simply does not qualify. The Redemption Vault solves this by pooling exit requests from multiple holders until the combined Bond Token position meets the minimum required for a block sale. Once that threshold is reached, the batch locks and the Cell's broker can execute the sale as a single institutional transaction.


This is an exceptional path — not how most holders exit. Holding to maturity is the standard experience; selling on secondary markets is the other common route. The Redemption Vault exists for situations where neither of those works: the holder needs to exit early and onchain secondary market liquidity is insufficient for their position size.

Early Redemption Flow Diagram

Bond Token HolderToken Holder
Redemption VaultVault
FulfillerFulfiller
BrokerBroker
OnrampOnramp
Deposit Bond Tokens
Mint RV shares (1:1 receipt)
Batch accumulation (until min lot)
Pool deposits toward minRedemptionAmount
Pro-rata coupon accrual while pending
Optional — before batch lock
Cancel before lock → return tokens + coupons
Batch locks at minimum lot
Request off-chain block sale
Execute bond sale
Transfer sale proceeds
Onramp stablecoins to vault
Fulfill batch (net proceeds)
Claim for Bond Token Holder
Burn RV shares + Bond Tokens
Transfer stablecoins + coupons

How Early Redemption Works

1. Request
The holder deposits Bond Tokens into the Redemption Vault through the platform. The vault mints the same number of non-transferable RV shares to the holder's wallet as a receipt. Bond Tokens are not burned yet — they stay in the vault while the request is pending.


2. Accumulation toward minimum lot
Individual requests pool together in one batch. Because corporate bond sales require a minimum position size, the batch must reach minRedemptionAmount in total Bond Tokens before it can be sent for broker execution. Until that threshold is reached, a holder can cancel: Bond Tokens are returned, plus any coupon amounts that accrued while pending. Once the minimum is met, the batch locks and cancellation is no longer available.


3. Coupons while pending
If a coupon is paid while the holder's request is still in the pending batch, they earn a pro-rata share of that coupon. It is paid together with their redemption proceeds at settlement, or returned on cancellation.


4. Broker sale and fulfillment
After lock, the Cell's broker executes the block sale. Gross stablecoin proceeds arrive in the vault; the early redemption fee (see Fees) is deducted and the batch is fulfilled at a single exchange rate for all depositors in that batch.


5. Settlement
Bondi's relayer pays each holder their net stablecoins and burns their RV shares. Holders may also self-claim with the same payout. Processing typically takes T+1 for execution and T+5 for settlement after the lock, driven by broker execution and onramping.


Redemption Vault outcomes

Depositing into the Redemption Vault does not guarantee an offchain sale. Three outcomes are possible:


Sale completes (early redemption fee applies): The batch accumulates enough Bond Tokens to meet the minimum lot size, locks, the broker executes the block sale, and proceeds are registered and fulfilled in the vault. The early redemption fee is deducted from gross proceeds; the relayer pays each depositor net stablecoins. See Fees.


Cancelled before lock (no fee): If the batch has not yet reached the minimum lot size and principal distribution has not started, the holder may cancel. Bond Tokens are returned along with any coupon amounts accrued while pending.


Bond matures before the sale clears (standard maturity fee, not early resale fee): If the bond reaches maturity while Bond Tokens are still in the vault — because the batch never accumulated enough for a sale, or no sale completed in time — cancellation is no longer possible. Bondi redeems those Bond Tokens for principal through the Distribution contract, fulfills the vault batch against the registered maturity proceeds, and the relayer pays each depositor automatically. The standard maturity redemption fee applies; the early resale fee does not.

Early Redemption Terms

KYC required: KYC is enforced at every stage — at request time, at settlement, and at self-claim. A holder without valid KYC cannot deposit into the vault or receive proceeds
Participation agreement: Before submitting a request, holders are asked to sign the Bond Token Participation Agreement covering the offchain broker sale terms
Minimum lot: The minimum applies to the total accumulated batch, not to each individual request — smaller positions can participate
Cancellation: Available before the batch locks; Bond Tokens and any accrued pending coupons are returned
RV shares: Non-transferable receipt tokens minted 1:1 with deposited Bond Tokens; burned at settlement or cancellation
Market risk: Redemption price reflects the batch execution price and may differ from the reported oracle price
Processing time: Typically a few business days from lock to settlement, driven by batch formation and broker execution
Fee: Charged on gross resale proceeds only if a sale completes; not charged on cancellations or maturity fallback. See Fees


Issuer Bond Calls

Bond issuers may exercise the call provision on their bonds, redeeming part or all of the outstanding Bond Tokens at the contractual call price. Each holder's position is reduced pro-rata and settled in USD stablecoin.

Issuer Bond Call Flow

Segregated AccountSeg. Account
AdminAdmin
Bondi BackendBackend
Distribution ContractDistribution
RelayerRelayer
Bond Token HolderToken Holder
Transfer gross USD stablecoin for call
Register call (registerCall, net liability)
3. Holder snapshot
Snapshot Bond Token holder balances at block
4. Relayer execution (per holder)
executeCallForUser(callId, user, expectedBalance)
Burn callable Bond Tokens & pay USD stablecoin (KYC complete)
Burn callable Bond Tokens & record entitlement (no KYC)
Balance drifted — refresh snapshot & retry
Optional — no KYC at call time
claimCall(callId)
Pay recorded USD stablecoin entitlement

1. Segregated Account Funds Distribution
The regulated segregated account (the "Cell") administered by Ensuro Re Ltd. transfers the gross USD stablecoin amount for the call into the Distribution contract.


2. Call Registration
The Distribution Safe calls Distribution.registerCall(callAmount, callRatioBps). The contract reverts if the bond has reached maturity. Commission is deducted using the immutable principalCommissionBps set at deployment time per Bond Token and split among fee receivers. The net call liability and a per-token call price are stored onchain. A solvency check runs against unallocated balance.


3. Holder Snapshot
Bondi's backend takes a snapshot of all Bond Token holders at a specific block, recording each holder's balance at that point in time.


4. Relayer Execution
The relayer processes holders one at a time via executeCallForUser(callId, user, expectedBalance). The contract checks whether the holder's live balance still matches the snapshot balance:


Balance matches + KYC complete: The callable Bond Token amount is burned immediately and USD stablecoin is paid to the holder in the same transaction.
Balance matches + no KYC: The callable Bond Tokens are burned immediately and the USD stablecoin payout amount is recorded for the holder to claim after KYC completion.
Balance drifted: The relayer refreshes the snapshot for that address and retries until no user with a balance drift is left.

Claiming After a Bond Call

KYC-verified holders are settled automatically by the relayer — bonds burned and USD stablecoin paid in the same transaction. One additional path exists for holders who did not have KYC at the time the relayer processed them:


No KYC at call time: If a holder's KYC was not valid when the relayer processed them, their callable Bond Tokens were already burned at that point and the stablecoin entitlement is recorded onchain. Once KYC is completed, the holder can claim their USD stablecoin payout through the Bondi frontend via claimCall(callId).

Bond Call vs. Early Redemption

An issuer bond call (this section) is initiated by the bond issuer and applied pro-rata to all holders at the call ratio. Early redemption is initiated by an individual holder through the Redemption Vault. The two mechanisms are independent.