Latest commit

History

231 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Docs Overview

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. Gitter

Mojaloop Services

The following architecture diagram shows the Mojaloop services: Mojaloop Services

ML-Adapter

The Mojaloop Adapter is the translation layer to convert to/from Mojaloop API to an internal format that is used in Central Services Stack.

Central Services

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

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario
  2. Buy Goods scenario
  3. Bulk Payment scenario

Related Projects

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.

About This Document

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.

DFSP Service

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.

DFSP Documentation

Central Services

The central services are a collection of separate services that help the DFSPs perform operations on the network.

Level One Client Service

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.

System-wide Testing

Individual services have their own tests, but the testing strategy also includes the following system-wide tests:

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario, walkthrough
  2. Buy Goods scenario, message flow
  3. Bulk Payment scenario, message flow

OUT OF DATE ENDS HERE

About

Cross-repo documentation, end to end scenarios, and architecture

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

231 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Docs Overview

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. Gitter

Mojaloop Services

The following architecture diagram shows the Mojaloop services: Mojaloop Services

ML-Adapter

The Mojaloop Adapter is the translation layer to convert to/from Mojaloop API to an internal format that is used in Central Services Stack.

Central Services

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

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario
  2. Buy Goods scenario
  3. Bulk Payment scenario

Related Projects

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.

About This Document

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.

DFSP Service

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.

DFSP Documentation

Central Services

The central services are a collection of separate services that help the DFSPs perform operations on the network.

Level One Client Service

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.

System-wide Testing

Individual services have their own tests, but the testing strategy also includes the following system-wide tests:

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario, walkthrough
  2. Buy Goods scenario, message flow
  3. Bulk Payment scenario, message flow

OUT OF DATE ENDS HERE

About

Cross-repo documentation, end to end scenarios, and architecture

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

231 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Docs Overview

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. Gitter

Mojaloop Services

The following architecture diagram shows the Mojaloop services: Mojaloop Services

ML-Adapter

The Mojaloop Adapter is the translation layer to convert to/from Mojaloop API to an internal format that is used in Central Services Stack.

Central Services

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

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario
  2. Buy Goods scenario
  3. Bulk Payment scenario

Related Projects

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.

About This Document

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.

DFSP Service

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.

DFSP Documentation

Central Services

The central services are a collection of separate services that help the DFSPs perform operations on the network.

Level One Client Service

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.

System-wide Testing

Individual services have their own tests, but the testing strategy also includes the following system-wide tests:

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario, walkthrough
  2. Buy Goods scenario, message flow
  3. Bulk Payment scenario, message flow

OUT OF DATE ENDS HERE

About

Cross-repo documentation, end to end scenarios, and architecture

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

231 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Docs Overview

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. Gitter

Mojaloop Services

The following architecture diagram shows the Mojaloop services: Mojaloop Services

ML-Adapter

The Mojaloop Adapter is the translation layer to convert to/from Mojaloop API to an internal format that is used in Central Services Stack.

Central Services

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

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario
  2. Buy Goods scenario
  3. Bulk Payment scenario

Related Projects

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.

About This Document

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.

DFSP Service

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.

DFSP Documentation

Central Services

The central services are a collection of separate services that help the DFSPs perform operations on the network.

Level One Client Service

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.

System-wide Testing

Individual services have their own tests, but the testing strategy also includes the following system-wide tests:

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario, walkthrough
  2. Buy Goods scenario, message flow
  3. Bulk Payment scenario, message flow

OUT OF DATE ENDS HERE

About

Cross-repo documentation, end to end scenarios, and architecture

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

231 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Docs Overview

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. Gitter

Mojaloop Services

The following architecture diagram shows the Mojaloop services: Mojaloop Services

ML-Adapter

The Mojaloop Adapter is the translation layer to convert to/from Mojaloop API to an internal format that is used in Central Services Stack.

Central Services

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

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario
  2. Buy Goods scenario
  3. Bulk Payment scenario

Related Projects

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.

About This Document

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.

DFSP Service

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.

DFSP Documentation

Central Services

The central services are a collection of separate services that help the DFSPs perform operations on the network.

Level One Client Service

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.

System-wide Testing

Individual services have their own tests, but the testing strategy also includes the following system-wide tests:

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario, walkthrough
  2. Buy Goods scenario, message flow
  3. Bulk Payment scenario, message flow

OUT OF DATE ENDS HERE

About

Cross-repo documentation, end to end scenarios, and architecture

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

231 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Docs Overview

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. Gitter

Mojaloop Services

The following architecture diagram shows the Mojaloop services: Mojaloop Services

ML-Adapter

The Mojaloop Adapter is the translation layer to convert to/from Mojaloop API to an internal format that is used in Central Services Stack.

Central Services

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

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario
  2. Buy Goods scenario
  3. Bulk Payment scenario

Related Projects

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.

About This Document

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.

DFSP Service

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.

DFSP Documentation

Central Services

The central services are a collection of separate services that help the DFSPs perform operations on the network.

Level One Client Service

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.

System-wide Testing

Individual services have their own tests, but the testing strategy also includes the following system-wide tests:

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario, walkthrough
  2. Buy Goods scenario, message flow
  3. Bulk Payment scenario, message flow

OUT OF DATE ENDS HERE

About

Cross-repo documentation, end to end scenarios, and architecture

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

231 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Docs Overview

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. Gitter

Mojaloop Services

The following architecture diagram shows the Mojaloop services: Mojaloop Services

ML-Adapter

The Mojaloop Adapter is the translation layer to convert to/from Mojaloop API to an internal format that is used in Central Services Stack.

Central Services

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

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario
  2. Buy Goods scenario
  3. Bulk Payment scenario

Related Projects

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.

About This Document

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.

DFSP Service

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.

DFSP Documentation

Central Services

The central services are a collection of separate services that help the DFSPs perform operations on the network.

Level One Client Service

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.

System-wide Testing

Individual services have their own tests, but the testing strategy also includes the following system-wide tests:

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario, walkthrough
  2. Buy Goods scenario, message flow
  3. Bulk Payment scenario, message flow

OUT OF DATE ENDS HERE

About

Cross-repo documentation, end to end scenarios, and architecture

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

231 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Docs Overview

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. Gitter

Mojaloop Services

The following architecture diagram shows the Mojaloop services: Mojaloop Services

ML-Adapter

The Mojaloop Adapter is the translation layer to convert to/from Mojaloop API to an internal format that is used in Central Services Stack.

Central Services

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

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario
  2. Buy Goods scenario
  3. Bulk Payment scenario

Related Projects

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.

About This Document

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.

DFSP Service

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.

DFSP Documentation

Central Services

The central services are a collection of separate services that help the DFSPs perform operations on the network.

Level One Client Service

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.

System-wide Testing

Individual services have their own tests, but the testing strategy also includes the following system-wide tests:

End-to-End Scenarios

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.

  1. Send Money to Anyone: scenario, walkthrough
  2. Buy Goods scenario, message flow
  3. Bulk Payment scenario, message flow

OUT OF DATE ENDS HERE

About

Cross-repo documentation, end to end scenarios, and architecture

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages