The docs repository documents the overall architecture, component design, message flow, high level tests and an overview of the Mojaloop software.
Individual repositories in the mojaloop GitHub organization each describe component-specific details including source and APIs.
For more information on mojaloop, see the https://mojaloop.io
New developers, see the contributors guide for onboarding materials.
The following architecture diagram shows the Mojaloop services:
The Mojaloop Adapter is the translation layer to convert to/from Mojaloop API to an internal format that is used in Central Services Stack.
The central ledger is a series of services that facilitate clearing and settlement of transfers between DFSPs, including the following functions:
- Brokering real-time messaging for funds clearing
- Maintaining net positions for a deferred net settlement
- Propagating scheme-level and off-transfer fees
The aforementioned individual services can't alone describe how key scenarios work across the system. Therefore, for each of the Mojaloop Scenarios, we provide a technical walk through.
The Interledger Protocol Suite (ILP) is an open and secure standard that enables DFSPs to settle payments with minimal counter-party risk (the risk you incur when someone else is holding your money). With ILP, you can transact across different systems with no chance that someone in the middle disappears with your money. Mojaloop uses the Interledger Protocol Suite for the clearing layer. For an overview of how it works, see the Clearing Architecture Documentation.
This document is a work in progress; not all sections are updated to the latest developments in the project. Sections that are known to be out of date are marked as follows:
OUT OF DATE STARTS HERE
Any text in this area is considered "out of date." It may reflect earlier versions of the technology, outdated terminology use, or sections that are poorly phrased and edited.
The DFSP code is an example implementation of a mobile money provider. Customers connect to it from their mobile feature phones using Unstructured Supplementary Service Data (USSD). USSD is a Global System for Mobile (GSM) communication technology that is used to send text between a mobile phone and an application program in the network, allowing users to create accounts, send money, and receive money.
The central services are a collection of separate services that help the DFSPs perform operations on the network.
- The Central Directory Service determines which DFSP handles a user's accounts.
- The Central Ledger Service handles clearing and settlement.
- The Central Rules Service sets policy across the system.
- The Fraud service aids DFPS in identifying suspicious behavior.
The client service connects a DFSP to other other DFSPs and the central services. It has a few simple interfaces to connect to a DFSP for account holder lookup, payment setup, and ledger operations. The level one client can be hosted locally by the DFSP or in a remote data center such as Amazon.
Individual services have their own tests, but the testing strategy also includes the following system-wide tests:
- Scenario testing
- End-to-end functional testing
- Performance testing
- Resilience Modeling and Analysis (RMA)
- Threat Modeling
The aforementioned individual services can't alone describe how key scenarios work across the system. Therefore, for each of the Mojaloop Scenarios, we provide a technical walk through.
- Send Money to Anyone: scenario, walkthrough
- Buy Goods scenario, message flow
- Bulk Payment scenario, message flow
OUT OF DATE ENDS HERE