111 lines
3.5 KiB
Markdown
111 lines
3.5 KiB
Markdown
|
|
# DBIS RTGS First Slice Architecture
|
||
|
|
|
||
|
|
**Last updated:** 2026-03-28
|
||
|
|
**Purpose:** Freeze the narrowest credible first production slice for the DBIS RTGS program using the assets currently available in the repository and local environment.
|
||
|
|
|
||
|
|
## Design principle
|
||
|
|
|
||
|
|
The first production slice should avoid expanding the critical path with systems that are not yet deployed or not yet evidenced in the workspace. The goal is to get to a real end-to-end settlement slice with the minimum number of moving parts.
|
||
|
|
|
||
|
|
## Included in first slice
|
||
|
|
|
||
|
|
### Core runtime
|
||
|
|
|
||
|
|
- Chain 138 / Hyperledger Besu
|
||
|
|
- Explorer / Blockscout
|
||
|
|
- FireFly primary (`6200`)
|
||
|
|
- Mifos / Fineract / OMNL rail
|
||
|
|
|
||
|
|
### Selected HYBX sidecars
|
||
|
|
|
||
|
|
- `mifos-fineract-sidecar`
|
||
|
|
- `server-funds-sidecar`
|
||
|
|
- `off-ledger-2-on-ledger-sidecar`
|
||
|
|
|
||
|
|
## Deferred from first slice
|
||
|
|
|
||
|
|
- FireFly secondary (`6201`)
|
||
|
|
- Fabric runtime
|
||
|
|
- Indy runtime
|
||
|
|
- Mojaloop integration
|
||
|
|
- Aries / AnonCreds / Ursa runtime
|
||
|
|
- Cacti runtime
|
||
|
|
- card-network, securities, and flash-loan specialized sidecars
|
||
|
|
|
||
|
|
## Why these sidecars
|
||
|
|
|
||
|
|
### `mifos-fineract-sidecar`
|
||
|
|
|
||
|
|
This is the strongest general-purpose banking sidecar for the first slice because it already models:
|
||
|
|
|
||
|
|
- compliance
|
||
|
|
- posting
|
||
|
|
- settlement
|
||
|
|
- reconciliation
|
||
|
|
- audit
|
||
|
|
- Fineract integration
|
||
|
|
- events
|
||
|
|
- observability
|
||
|
|
|
||
|
|
### `server-funds-sidecar`
|
||
|
|
|
||
|
|
This is the best fit for treasury/funds movement orchestration because it already exposes:
|
||
|
|
|
||
|
|
- transfer initiation
|
||
|
|
- approvals
|
||
|
|
- settlement events
|
||
|
|
- reconciliation
|
||
|
|
- Fineract integration
|
||
|
|
|
||
|
|
### `off-ledger-2-on-ledger-sidecar`
|
||
|
|
|
||
|
|
This is the best fit for the off-ledger to on-ledger bridge because it already frames:
|
||
|
|
|
||
|
|
- collateral or source-of-value lock
|
||
|
|
- conversion initiation
|
||
|
|
- settlement
|
||
|
|
- extinguish/release flow
|
||
|
|
|
||
|
|
## First-slice interaction flow
|
||
|
|
|
||
|
|
1. Participant/office exists in OMNL / Fineract.
|
||
|
|
2. A transfer or settlement intent enters through the canonical banking rail.
|
||
|
|
3. `mifos-fineract-sidecar` validates, screens, posts, and settles the banking-side event.
|
||
|
|
4. `server-funds-sidecar` coordinates treasury/server-funds transfer semantics where needed.
|
||
|
|
5. `off-ledger-2-on-ledger-sidecar` maps qualifying off-ledger value into the Chain 138 settlement path.
|
||
|
|
6. Chain 138 settlement contracts record or confirm the on-ledger leg.
|
||
|
|
7. Reconciliation and audit artifacts are produced.
|
||
|
|
8. The regulatory package path is generated from the resulting evidence set.
|
||
|
|
|
||
|
|
## Immediate implementation sequence
|
||
|
|
|
||
|
|
### Sequence A — Banking rail
|
||
|
|
|
||
|
|
1. Freeze the OMNL / Fineract tenant and operator path.
|
||
|
|
2. Freeze the participant / treasury / GL model.
|
||
|
|
3. Validate the `HYBX-BATCH-001` operator flow end to end.
|
||
|
|
|
||
|
|
### Sequence B — Sidecar baseline
|
||
|
|
|
||
|
|
1. Build and validate `mifos-fineract-sidecar`.
|
||
|
|
2. Build and validate `server-funds-sidecar`.
|
||
|
|
3. Build and validate `off-ledger-2-on-ledger-sidecar`.
|
||
|
|
4. Record runtime dependencies, health endpoints, and deployment units.
|
||
|
|
|
||
|
|
### Sequence C — Settlement mapping
|
||
|
|
|
||
|
|
1. Freeze the canonical Chain 138 settlement contracts used by RTGS.
|
||
|
|
2. Define the exact event handoff from sidecars to on-chain settlement.
|
||
|
|
3. Define reconciliation outputs and operator evidence.
|
||
|
|
|
||
|
|
## Exclusion rule
|
||
|
|
|
||
|
|
Anything not listed in “Included in first slice” must not be treated as a blocker for initial RTGS activation unless governance explicitly changes scope.
|
||
|
|
|
||
|
|
## Related artifacts
|
||
|
|
|
||
|
|
- [DBIS_RTGS_E2E_REQUIREMENTS_MATRIX.md](DBIS_RTGS_E2E_REQUIREMENTS_MATRIX.md)
|
||
|
|
- [DBIS_HYBX_SIDECAR_BOUNDARY_MATRIX.md](DBIS_HYBX_SIDECAR_BOUNDARY_MATRIX.md)
|
||
|
|
- [DBIS_MOJALOOP_INTEGRATION_STATUS.md](DBIS_MOJALOOP_INTEGRATION_STATUS.md)
|
||
|
|
- [DBIS_HYPERLEDGER_IDENTITY_STACK_DECISION.md](DBIS_HYPERLEDGER_IDENTITY_STACK_DECISION.md)
|