Deposit Token Sample Application Workflow
After you install and configure the sample deposit token application, you can use it in scenarios where a system owner (a bank) and participant organizations (other institutions) interact in an interbank market.
The sample application supports twelve roles, or personas. Each role has a different interface and set of operations that support the entire workflow of token management in the deposit token scenario.
Bank Roles
- Bank administrator: Configures tokens and organizations; creates wallets and deposit token accounts; sets limits, purposes, groups, and roles. Maintains compliance controls and approval policies.
- Bank approver: Completes assigned amount-based or sequential transfer approvals. The configured bank approver or sequential bank approver chain completes the approval policy decision steps for a policy-controlled transfer.
- Bank creator: Requests token creation and transfers the created value to a bank issuer.
- Bank issuer: Issues value to participants and returns value for retirement.
- Bank manager: Reviews assigned creation, issuance, pending transfer, and retirement requests. A bank manager approves or rejects requests to create or retire tokens. For issuance transfers that are subject to an approval policy, the manager can complete the transfer only after the required approver sequence is satisfied; the manager can reject a transfer while it is pending.
- Bank retirer: Submits retirement or burn requests.
- Bank auditor: Reviews network activity, balances, pending requests, and history, without changing data.
Institution Roles
- Institution administrator: Manages participant wallets, accounts, application groups, status, and limits.
- Institution manager: Approves or rejects transfers for the participant organization. An institution manager reviews transfers associated with its organization’s escrow account. The manager can approve a direct manager action, complete a policy-controlled transfer only after the required approver sequence is satisfied, or reject a pending transfer.
- Institution officer: Deposits value to the bank and transfers value to permitted users.
- Institution user: Transfers value to permitted recipients.
- Institution auditor: Reviews participant/organization activity, without changing data.
Onboarding
After you install and configure the application, you prepare users, wallets, deposit token accounts, and ledger roles. Complete the following steps before you run token operations.
- The bank administrator logs in first. Select the bootstrap wallet that was granted the
Token Admin Besurole when the smart contract was initialized. This is the initial administrative entry point even before a deposit token account exists. - The bank administrator verifies the organization registry. Register or review the founder and participant organizations, confirm the founder sequence (1), and verify the organization order and display values.
- The bank administrator initializes the token and creates the initial accounts. Create wallets and deposit token accounts for bank personas and for the institution administrators who will administer participating organizations. Select the correct wallet, application group, and account limits.
- Each participating organization is deployed and configured. Use the same one-click or local deployment process for the participant application. One-click deployment uses the Oracle Blockchain Platform configuration; local deployment requires manual configuration.
- The institution administrator logs in for the participant organization. Load or create the organization’s wallets, then create manager, officer, user, and auditor accounts using the permitted application groups and limits.
- The bank administrator configures or reviews governance and user compliance controls and creates or activates amount-based approval policies. A policy without approvers can settle a matching transfer immediately; a policy with approvers creates the configured approval sequence.
- The bank administrator synchronizes manager roles. After each institution manager account is created, use the Account Actions > Sync Roles command on that account to apply its
Escrowledger role. Application groups control workspace access; ledger roles control contract operations. - Each persona logs in and verifies access. Select the intended wallet when more than one is available, confirm the correct workspace opens, and verify that permitted and restricted actions match the assigned application group and ledger role. Use the persona sequence in the following table.
- After all persona configuration and access checks are complete, follow the application workflow to work with the deposit token life cycle.
Persona Sequence
| Sequence | Persona | Responsibility | Information |
|---|---|---|---|
| 1 | Bank administrator | Completes bank, organization, wallet, account, and role setup. | Bank Administrator |
| 2 | Institution administrator | Sets up participant wallets and accounts. | Institution Administrator |
| 3 | Bank creator | Submit requests to create tokens. | Bank Creator |
| 4 | Bank manager | Approves or rejects creation requests. | Bank Manager |
| 5 | Bank approver | Completes assigned approvals for configured amount-based or sequential transfers. | Bank Approver |
| 6 | Bank issuer | Issues value to participants and returns value for retirement. | Bank Issuer |
| 7 | Institution manager | Approves direct manager actions, completes policy-controlled transfers only after the required bank approver sequence, or rejects pending transfers. | Institution Manager |
| 8 | Institution officer | Deposits and transfers value. | Institution Officer |
| 9 | Institution user | Transfers value to permitted recipients. | Institution User |
| 10 | Bank retirer | Submits retirement requests after value is returned. | Bank Retirer |
| 11 | Bank auditor | Reviews bank activity and history. | Bank Auditor |
| 12 | Institution auditor | Review participant organization activity and history. | Institution Auditor |
Application Workflow (Token Life Cycle)
After deployment and setup, the personas in the scenario engage in the following tasks as part of the complete token life cycle. Note that transfer approval is conditional, not a fixed lifecycle stage: after a policy-controlled transfer is submitted, the configured bank approver completes the current approval step before that transfer settles.
- The bank creator requests token creation and moves approved value. Open the Create Tokens page, enter the quantity and optional memo, review the generated operation ID, and submit the request. After the bank manager approves the request, submit the transfer of approved value to the bank issuer. The applicable approval policy determines whether the transfer completes immediately or is routed for approval.
- The bank manager approves or rejects bank requests. Open the Creation queue to approve or reject token creation. Approval credits the creator; rejection leaves the request uncredited. The same manager later approves or rejects burn requests from the bank retirer and can complete an eligible transfer only after its configured approval sequence is satisfied.
- The bank issuer distributes or returns value. Transfer value to an institution officer, or use the retirement path to transfer value to bank retirer. The active amount-based policy determines whether an eligible transfer settles immediately or waits for the configured approval sequence.
- The bank approver completes assigned approval steps. When an amount-based policy routes a subbmitted transfer to the bank approver: Open the Bank Approvals page, review the transaction and current sequence position, and then approve to advance or complete it or reject it to stop the transfer. Multiple approvers act in sequence.
- The institution manager reviews manager/escrow transfers. Review pending participant transfers that are associated with the manager/escrow account. Approve a direct manager action or complete an eligible transfer after its configured approval sequence is satisfied; reject when the transfer must not settle.
- The institution officer moves participant value. Transfer value to bank issuer, another institution officer, or an institution user. The active policy determines whether the transfer settles immediately or is routed to to the configured bank approver sequence.
- A institution user transfers permitted value. Transfer value to an allowed institution officer or institution user. The same policy rules apply: no configured approver can settle immediately. Multiple approvers act in sequence.
- The bank retirer requests retirement. After receiving value, open the Retire Tokens window, enter the amount and required details, and submit the burn request. The bank manager approves or rejects the request. Approval removes the value from circulation; rejection leaves the burn incomplete.
- The bank auditor reviews bank activity. Use the auditor workspace, filters, transaction rows, detail dialogs, operation IDs, balances, approval outcomes, and history to review the bank activity that is available in read-only format.
- The institution auditor reviews participant activity. Use the participant auditor workspace to review the organization’s accounts, transfers, approvals, balances, operation IDs, and history. The workspace of the institution auditor workspace is read-only and is limited to their own organization.
Approval policies: Token creation and retirement use the configured bank manager request queues. Issuer, officer, user, creator-to-user, and return transfers use the active amount-based policy. A request can settle immediately if no approver is configured. When an approval is required, the policy routes the request to the configured bank approver account; one approver must decide it, and multiple approvers act in sequence. A rejection stops the pending transfer; it does not settle.
After each request or decision, refresh the sender, recipient, manager, and auditor views as applicable. Confirm the final status and balance before submitting another operation.