Introducing the Redemption Vault: From request to cash
A Bond Token keeps everything a bond does, so its exit has to handle everything a bond does. The Redemption Vault gathers exits of any size into one real bond sale through the regulated custody chain: shared batch, lot minimum, price locked same or next business day, cash at T+5, and every pending request resolves into payment whatever the bonds do in between.

Bonds as full primitives, quirks included
Bondi's goal has always been to bring bonds onchain as full primitives, not as a smoothed-over yield number, because the destination of finance is bonds issued onchain natively, and the infrastructure for that future has to carry everything a bond does. A real bond pays coupons on a calendar, can be called early by its issuer in part or in full, can amortize, and one day matures. Most tokenized products hide those mechanics inside a fund wrapper and hand you a NAV, with a redemption queue behind it and an idle cash sleeve in front of it that earns nothing while it waits. We keep the mechanics. A Bond Token (BT) is a token backed one to one by a single publicly traded corporate bond under regulated custody, each token representing $100 of face value; a basket BT is backed by several such bonds held together as one instrument. For anyone who would rather not handle the quirks, the Reinvestment Vault wraps a BT into a compounding vault share, the vBT, and that is the abstraction layer. The primitive stays a bond.
Keeping the quirks means the exit has to handle the quirks. Today, while the bonds behind a BT still live in the traditional market, that exit is the Redemption Vault: an off-chain sale of real bonds, which is why it requires KYC on the way out, and which is also what lets anyone with KYC arbitrage the onchain price against the bonds' own value. It is an intermediary step on the way to native issuance, and while the step lasts, whatever the underlying bonds do while you are exiting, whether they pay a coupon, get called, amortize, or mature, your position resolves into cash correctly. This post walks the whole mechanism, from the moment a request is submitted to the moment stablecoins land in the wallet.
The minimum to use the Redemption Vault: why it exists
In the traditional market a bond does not trade in any size. Most bonds sold to institutions carry a minimum denomination of $200,000 of face with $1,000 steps above it, and that includes nearly every USD bond issued in the international market, roughly $16 trillion outstanding by the BIS's count, the market most of Bondi's bonds come from. Many US-registered corporate bonds trade in $1,000 or $2,000 pieces instead. A holder of 50 BTs, $5,000 of face, can sell them onchain at any time. What no one can do is sell $5,000 of face of the bond itself: below the lot, no dealer will trade. Onchain the token is fractional; off-chain the bond behind it still clears in its own lot. The Redemption Vault exists to bridge exactly that gap: it gathers exits of any size into one lot the market will take.
What the vault is built on
Technically, the Redemption Vault is an asynchronous redemption vault built on the ERC-7540 request/claim pattern, the standard designed for exactly this situation: an exit that cannot settle atomically because a real-world action sits in the middle. You do not swap and receive in one transaction. You request, the vault batches, an off-chain sale happens, and then you claim.
The concrete mechanics:
- Requests are submitted in multiples of 10 BTs ($1,000 of face). The BTs are transferred into the vault and it mints non-transferable receipt shares one to one, so your wallet always shows exactly what you have pending. The shares are soulbound: a pending exit cannot be traded away.
- All requests flow to a single controller, the immutable Bondi relayer address baked in at deployment. There is one shared batch at a time, tracked by batch id.
- Coupons earned by pending BTs accrue to the requesting holders through a per-batch coupon index, not to the vault. Your entitlement is checkpointed from the moment you join: a request that arrives after a coupon has been registered does not earn that earlier coupon.
- Redemption requests and claims are KYC-gated, because a real bond is sold at the end of the path; holding and trading the BT itself never is.

The batch lifecycle
- Request. Submit BTs in any size, in 10-token units. Receipt shares appear in your wallet; coupons keep accruing to you while you wait.
- Aggregation. Requests accumulate into the shared batch, and the minimum applies to the batch, never to an individual. A single large holder can fill the entire minimum in one submission and trigger the sale alone. Smaller holders pool into the same batch and settle on identical terms.
- Cancellation window. Until the batch reaches the minimum, any participant can cancel and take their BTs back in full, together with the coupons that accrued while the request was pending. No fee applies to a cancelled request.
- Lock. When total pending reaches the minimum, the batch locks: the positions in it are committed to the sale and cancellation closes. The only thing that can reopen it is the bond itself, when a call or amortization settles part of the batch early and shrinks what is left below the minimum; the remainder can then be cancelled again until the batch refills. Requests keep arriving after the lock: those that land before the broker executes are sold in this batch, and those that land after it are rolled forward into the next batch at settlement, with their coupons intact.
- Execution. The broker for the regulated custody account sells the underlying bonds as one institutional block. The sale executes, and its price locks, on the same day as the lock or the next business day, because a real market has to be open for a real sale.
- Settlement and claims. The sale proceeds settle at T+5 after the lock and are deposited straight into the vault contract by the regulated issuer's onramp, never through a Bondi wallet. Bondi then registers the proceeds against the batch, and it is at that registration that the redemption fee is taken, on actual sale proceeds and never on a cancellation. The batch is fulfilled at one locked exchange rate: every participant, large or small, receives the same price per token, pro rata, plus accrued coupons.
Who presses the buttons
Claiming is not homework left to the holder. The Bondi relayer runs a service that listens for the vault's fulfillment event, and the moment a batch settles it executes the claim for every participant, sending each holder's stablecoins directly to their own wallet. The same service pays out every other event that lands on a pending request, coupons, call proceeds, amortization principal, maturity principal, so the money reaches the wallet without the holder sending a transaction. Self-claim always remains available onchain: any eligible holder can claim their own share at any time without waiting for anyone. The relayer is a convenience layer on top of the contract's guarantees, not a dependency.
The four ways a request resolves
Because the vault keeps the bond's full behavior, a pending request resolves through whichever door the bond itself opens. There are exactly four, and every one ends with the holder paid.
- The sale completes. The standard path above: batch execution price, net of the redemption fee, plus accrued coupons.
- The holder cancels before lock. Full return of BTs plus accrued coupons. No fee.
- The bond matures while the request is pending. No broker sale is needed for a bond that is paying everyone back. Once maturity has passed and the principal is registered on the Distribution contract, the same contract every ordinary holder claims principal from, the vault redeems all of its pending BTs against it and records the exact stablecoin amount that came back. The batch is then fulfilled, and the contract will not let it be fulfilled for any amount other than the one it recorded. No redemption fee applies on this path: holders are paid the principal, plus coupons, as at maturity.
- Principal comes back early while a batch is pending. An issuer call, partial or full, an amortization payment, or, in a basket BT, one constituent maturing while the others live on: each of these repays some of the bond's principal ahead of the token's final maturity, and the vault treats them all the same way. The affected slice of every pending request becomes claimable inside the very transaction that executes the event, at the contractual price for that slice, the call price or par: no minimum-lot wait, no broker needed for that slice. A full call closes the whole batch this way. Anything short of that leaves the remainder pending in the same batch, continuing toward the normal sale, so a single request can settle as a blend of event proceeds and sale proceeds. Entitlements run from the moment you join: a request submitted after a call or a coupon has already been recorded takes no share of that earlier event, only of what happens afterward.

There is no fifth path. Nothing in the mechanism can hold assets in limbo indefinitely.
A built-in stabilizer
The vault also quietly disciplines the onchain price. If a BT's pool ever trades meaningfully below the value the redemption path realizes, anyone with KYC can buy tokens from the pool, submit them into the batch, and capture the difference against the real bond sale. That arbitrage is by design: it puts a floor under the onchain price at the bonds' own value, minus the cost of the trip, and turns any deep discount into a self-closing opportunity rather than a stranded holder's problem.
Where the minimum sits, and when it moves
The batch minimum is the bond market's own lot structure made visible. For a single-name BT it is that bond's lot, fixed for the life of the bond, so the vault's threshold is effectively immutable. For a basket BT, redemption sells every constituent pro rata, so the batch must be large enough that the constituent with the largest lot still clears it; the threshold is set at that constituent's requirement, and it is contractually decrease-only: when that constituent matures, is called, or amortizes out of the basket, the bar can be lowered to the next binding name, and it can never be raised.
The custody chain behind the sale
The reason the exit can end in a real bond sale is that there are real bonds to sell. Each BT series is backed one to one by bonds purchased through a licensed broker and held in a regulated segregated account. Redemption runs back down the same chain: vault, broker, block sale, proceeds into the segregated account, stablecoins to holders onchain. The market this sale clears into is the $17+ trillion USD-denominated corporate bond market. A single name may trade only tens of millions of dollars on a given day, but the market as a whole clears close to $70 billion daily, and a bid is standing for these bonds whether or not a print happened that day: the depth is there even though no trade shows it.
Why lenders care
For an individual holder the vault is an exit. For the system it is the reason the vault share, vBT, works as collateral. Lending markets hold the vBT, not the raw BT, because the share absorbs the bond's quirks; but unwrapping a share back into BTs is one step, and redeeming those BTs is the next, so a liquidator's path from seized collateral to cash is unwrap, redeem, done, one click on the Bondi frontend. A lending market that accepts an asset has to believe a liquidated position can be turned into cash at a knowable price on a knowable timeline. With the Redemption Vault, a large liquidation routes into the same shared batch as any other exit: an orderly institutional sale of publicly traded bonds at their own market price. A breached position resolves into a bond trade, not into bad debt.
Full flow, role matrix and worked examples are in the docs.
More from the blog.
All posts
The Reinvestment Vault: How coupons become more bonds
Coupons are the whole point of a bond and the one thing DeFi cannot handle. The Reinvestment Vault keeps the Bond Token a full bond underneath and puts a clean, compounding ERC-20 share on top:…

Introducing v3: Every change to the Bondi core, and why
Bondi v3 is built on the v2 contracts and closes the gap between a token that pays coupons and a bond: calls, amortizations, a supply that grows, fees taken onchain, proceeds that never pass through…

Bondi v2: Composable, fungible, verifiable
Our first offering (v1) fully matured in June 2025 on Base. We paid the final coupon along the principal onchain, delivering a 9.98% APR. v1 remains backward-compatible: if you haven’t claimed yet,…