Bond Marketplace Application Workflow
In this scenario, fractional non-fungible tokens (NFTs) represent bonds issued by financial institutions.
The bond marketplace scenario supports bond issuance, investor purchase by using wholesale central bank digital currency (CBDC), periodic interest distribution, and bond redemption at maturity.
The following table summarizes the actors in this scenario.
| Actor | Role | Description |
|---|---|---|
| Administrator | Token Admin | Initializes the system,creates users in identity services, creates NFT accounts, assigns the minter role. |
| Issuer (Financial Institution Officer) | Minter | Issues bonds as fractional NFTs, reviews details of issued bonds, pays periodic interest, approves bond redemption requests. |
| Purchaser (Investor) | none | Buys bonds by using wholesale CBDC, checks their bond wallet balance, requests bond redemption, verifies redemption status. |
The administrator completes the following steps to initialize the system.
- Register organizations by using the
registerOrgAPI. - Create Oracle Identity Cloud Service (IDCS) users and assigns them to groups by using the
createIDCSUserAPI. - Create accounts by using the
createAccountWithEnrollmentAPI. - Assign the minter role to the financial institution officers by using the
addRoleAPI.
After the system is initialized, a typical process flow follows these basic steps.
- Issue a bond.
- Financial institution officers (bond issuers) use the
createBondTokenAPI to issue bonds as fractional NFTs available for purchase. - Financial institution officers use the
getTokenByIdAPI to review and confirm the details of issued bonds.
- Financial institution officers (bond issuers) use the
- Purchase a bond.
- Bond purchasers use the
purchaseBondTokenAPI to buy the fractional NFT bond and to make a payment using the wholesale CBDC chaincode. - Purchasers use the
balanceOfBatchAPI to verify the receipt of the bond in their wallet. - Purchasers use the
getAccountBalanceAPI (wholesale CBDC chaincode) to confirm the transfer in their wholesale CBDC wallet.
- Bond purchasers use the
- Pay periodic interest.
- Bond issuers use the
payInterestAPI to pay periodic interest, which is distributed to bondholders by using the wholesale CBDC chaincode. - Purchasers use the
getAccountBalanceAPI (wholesale CBDC chaincode) to verify the interest payment.
- Bond issuers use the
- Redeem bonds at maturity.
- Purchasers use the
requestBondRedemptionAPI to submit a request to redeem their bond after it has matured. - Financial institution officers use the
approveBondRedemptionAPI to approve the redemption request and to transfer wholesale CBDC funds to the bond holder. - The bond holder uses the
balanceOfBatchAPI (bond marketplace chaincode) andgetAccountBalanceBondAPI (wholesale CBDC chaincode) to verify that the bond was redeemed and that they received funds in their wholesale CBDC wallet.
- Purchasers use the