Mojaloop hub operations

A generic operator + participant portal for any Mojaloop switch.

A loosely-coupled monolith with two scoped frontends — one for the hub operator, one for participating DFSPs — speaking native Mojaloop admin and FSPIOP shapes. Optional capabilities (fraud engines, dispute backends, ALS for aliases) plug in as modules so the same build runs for any country or scheme.

Backed by
Mojaloop APIs
Optional
Plug-in modules
Deploy
In-cluster, separate ns
Architecture Mock first · live ready
Browser
  -> Next.js App  (app/(hub) | app/(dfsp))
       -> Next.js API   (app/api/**)
            -> lib/hub/client.ts
                 mock                         (default)
                 CENTRAL_LEDGER_ADMIN_URL     /participants, /positions, /limits
                 CENTRAL_SETTLEMENT_URL       /settlementWindows, /settlements
                 ALS_ADMIN_URL                /oracles, /parties
                 Module Store                 plug-in modules (fraud, disputes, ...)

01 · Portals

Two scoped portals

Hub Operator portal
Used by the SPV / scheme operator and the supervising central bank. Full visibility over participants, positions, settlements, transfers, ALS and audit.
  • Manage DFSPs, Net Debit Caps and pre-funding
  • Open / close / finalize settlement windows
  • ALS oracles and registered parties
  • Hub-wide audit log and reporting
Open Hub portal
DFSP portal
Used by participating DFSPs. Strictly scoped to the caller's own fspId, both in the UI and on every API route.
  • Own balances, NDC usage and funding history
  • Own transfers and settlement participation
  • Lookup a single transfer where they're a party
  • Manage their own staff users
Open DFSP portal

02 · Scope

What the demo covers

Hub operations

Participants, positions, NDC limits, funds in/out, settlement windows, ALS oracles & parties.

Audit

Tamper-evident record of every operator action on the hub, ready to be appended to a write-only store.

Reporting

Settlement reports, transfer activity, aggregates per DFSP and per currency.

03 · Modules

Optional modules

Not every Mojaloop switch runs every module. The portal exposes optional capabilities in a clearly separated «Modules» section in the sidebar. Modules are installed, enabled and configured from the Module Store, so a deployment can add or remove them without code changes.

Plug-in modules
Fraud engines such as Tazama are not built in. A hub admin installs them from the Module Store by pasting a manifest JSON or URL; the portal then renders the module under /hub/modules/<id>, delivers platform events to its webhooks and gates access by the permissions the manifest declares.
Account Lookup Service
Mojaloop ALS oracles + registered parties. Available by default; the portal shows oracle endpoints and a per-DFSP party list for routing instant payments by alias.

04 · Access

Role-based access

Permissions are enforced both in the UI and on every Next.js API route. Roles map to JWT claims from Keycloak / Ory in production; the demo ships a persona switcher in each portal so you can see how each role experiences the UI.

RoleScope
hub-adminAll hub permissions including users & roles
hub-operatorParticipants, positions/NDC, funds, settlements, ALS, fraud read, audit
hub-finance-managerPositions, NDC, funds, settlements (incl. finalize), reports
hub-finance-viewerRead-only finance and reports
hub-fraud-analystFraud alerts (read/write), transfer lookup, audit
hub-reportingRead-only across the hub for reporting
hub-user-managerManage users and role assignments
hub-auditorRead-only: full audit log and the records it covers
dfsp-admin / finance / operator / viewerSelf-scoped DFSP access, never cross-DFSP