Holder Exits
Everything a holder does with the Reinvestment Vault goes through the vault contract, deposit Bond Tokens, hold vbtXXX, exit whenever. The diagram below shows those holder-facing paths only. Bondi-operated backend steps (coupon reinvestment, bond-call registration) are covered in the lifecycle diagrams linked underneath.
Enter: deposit(btXXX) → receive vbtXXX at the current oracle share price.
Exit fully: redeem or withdraw: always available for non-blacklisted receivers. KYC-verified holders receive Bond Token backing plus any pending coupon or call stablecoin, settled as Bond Tokens when the exit swap clears or as stablecoin when it cannot (or via redeemToBTAndStable by choice, with no swap). Non-KYC-verified holders receive Bond Tokens; pending buckets swap to Bond Tokens or are recorded as entitledStable to claim after completing KYC or whenever they can be swapped to Bond Tokens.
After a bond call, unwind the amount you choose: unwind on the Bondi frontend, receive the bond call proceeds exiting the desired portion of your position. See Why Unwinding Exists and Vault Settlement on Bond Call.
At maturity: redeem on the vault, KYC-verified holders receive all stable; non-KYC-verified holders receive Bond Tokens and handle principal at Distribution after KYC. See Vault Settlement at Maturity.
Coupon reinvestment (Bondi-operated, not a holder action): see Coupon Auto-Reinvestment below.
Compliance at Reinvestment Vault Exit
The vault never pays bond proceeds (coupon, call, or principal) directly to a non-KYC-verified wallet. All holders can still exit in Bond Token form; only Bondi's direct stablecoin payouts are gated. See Holder Exits right above for the full path map.
Blacklisted addresses are refused at vault entry and exit. vbtXXX remains freely transferable, Bondi's contracts will not serve a sanctioned address, but this is not a hard fund freeze.
entitledStable: Recorded stablecoin owed to a non-KYC-verified holder who exited when the swap of their pending coupon/call proceeds into Bond Tokens could not execute, so the proceeds could be neither delivered as Bond Tokens nor paid as distribution stable to a non-KYC-verified wallet, and are held on record instead. Claim via claimEntitledStable() once KYC-verified, or claimEntitledStableAsBT() for Bond Tokens when the liquditiy conditions improve. Bondi can never touch this bucket and it stays indefinitely in the vault until claimed.
You stay in control of the exit swap: When you exit and the vault needs to swap your pending coupon or call stablecoin into Bond Tokens, the Bondi app lets you set how much price movement you're willing to accept and shows you upfront whether the swap will go through at current market conditions, so you can go ahead, widen your tolerance, or wait. Nothing is ever forced through at a bad price. If a swap can't clear within your tolerance, your Bond Token backing is still delivered as Bond Tokens; the pending coupon/call proceeds that couldn't be converted are then paid to you as stablecoin if you're KYC-verified, or recorded as entitledStable to claim later if you're not.