Draft:Mbase

Developer HMTC (Cotonou, Benin)
On-premise African-language amount composition and payment middleware
Initial release 24 July 2026; as v0.1.0-1
Stable release 0.1.0-9 (29 July 2026)
Written in JavaScript (Node.js, Fastify); Python (companion console application)
Operating system Linux (Ubuntu Server 26.04 LTS), distributed as a Debian (.deb) package
Platform x86-64 (amd64)
Type On-premise multilingual amount-composition engine; payment-domain middleware
License Proprietary; time-limited, machine-bound activation licenses
Parent project Maïka (https://maika.hmtc.bj)
Related projects Tassie (payment terminal)
Developer website hmtc.bj
Mbase software solution logo

Mbase is an on-premise software edition of Maïka, a multilingual numeration engine developed by HMTC, a company based in Cotonou, Benin. Rather than being accessed as a hosted web service, Mbase is packaged as a native Debian software package and deployed inside a client organization's own local area network (LAN). Its core function is to convert a numeric monetary amount into its spoken and written equivalent in a defined set of African and international languages, for use in point-of-sale and payment applications. The first released application domain, named finance, covers nineteen languages spoken across West Africa, East Africa, North Africa, Ethiopia, and two international languages (English and French). Access to Mbase is controlled through a time-limited, machine-bound license activated against a private license server operated by HMTC, combined with a locally administered role-based permission system.

History

Mbase originates from Maïka, a public web application first published in June 2026 and made available at maika.hmtc.bj, a domain operated by HMTC. Maïka exposed an open, unauthenticated compose API covering nineteen languages, with the stated purpose of “giving a voice” to the Tassie payment terminal: when a transaction completed on a Tassie terminal, the amount would be read aloud to the customer in their own language. Development of Mbase as a separate, on-premise edition of this engine began in late July 2026. Where Maïka operates as a centrally hosted service, Mbase was designed to run entirely inside a client's own infrastructure, addressing requirements around data sovereignty, offline operation, and per-client licensing that a shared public API could not satisfy. Development proceeded through a rapid sequence of packaged releases — from version 0.1.0-1 to 0.1.0-9 — over the course of roughly one week, progressively adding TLS encryption, an interactive command-line shell, role-based permissions, license activation, and visibility into the license activation and asset-synchronization process.[1]

Architecture and technology

The Mbase source repository is organized into several independent parts, reflecting a deliberate separation between what is shipped to clients and what remains under HMTC's control:

  • software/ — the composition engine, HTTP API, and command-line interface. This code is compiled into the distributed .deb package.
  • license-server/ — a separate service, hosted exclusively by HMTC, that issues signed license certificates at activation time. It is never shipped to client machines.
  • packaging/ — Debian packaging scripts, systemd service definitions, and installation hooks used to build the distributable package.
  • data/domains/ — per-domain manifests and protected assets (encrypted audio recordings and lexicons), kept out of version control in plain form.

The runtime service is built on Node.js 20 LTS and the Fastify web framework, and is managed on the client machine as a systemd service. Since version 0.1.0-6, the service generates a unique, self-signed TLS certificate on installation and serves its public API exclusively over HTTPS by default; a companion desktop console application (see below) verifies this certificate through fingerprint pinning on first connection, in the manner of SSH host-key verification, rather than relying on a public certificate authority.[2]

Supported languages

As of version 0.1.0-9, the finance domain defines nineteen languages. Composition of text is available for all nineteen; spoken audio output, drawn from a corpus of pre-recorded audio segments, is available for fifteen of them. The remaining four languages (Dioula, Kriolu, Lingala, and Wolof) are defined in the engine and can produce written output, but no corresponding audio recordings exist in the source corpus as of this version.[3]

Languages and Regions
Code Language Region Currency Audio available
fon Fongbé Benin FCFA Yes
gun Goungbé Benin FCFA Yes
min Mina Benin / Togo FCFA Yes
adj Adja Benin FCFA Yes
den Dendi Benin FCFA Yes
yor Yorùbá Nigeria / Benin FCFA Yes
amh Amharic Ethiopia Birr Yes
oro Afaan Oromo Ethiopia Birr Yes
ara Arabic North Africa Yes
eng English International USD Yes
fre French International Yes
hau Hausa West Africa FCFA Yes
swa Kiswahili East Africa KES Yes
bam Bamanankan Mali FCFA Yes
ful Fulfulde Sahel FCFA Yes
dio Dioula Mali / Côte d'Ivoire FCFA No
kri Kriolu Cabo Verde CVE No
lin Lingala DR Congo / Congo FCFA No
wol Wolof Senegal FCFA No

Licensing and activation model

Mbase is distributed under a commercial licensing model administered entirely by HMTC. Licenses are managed through a command-line tool used exclusively over a direct connection to the license server — no license-management functionality is exposed over a public network endpoint. Each license specifies one or more covered application domains (for example, finance) and a validity period; there is no finer-grained licensing at the level of individual languages within a domain. At activation, a client machine submits its license key together with a hardware-derived fingerprint, and receives in return a certificate cryptographically signed by HMTC's private key, together with a per-installation asset-decryption secret. Subsequent verification of this certificate — checking its signature, its binding to the local machine, and its expiration date — is performed entirely offline, without any ongoing network contact with HMTC's servers. A revoked license blocks future activations and asset downloads, but does not remotely disable an already-activated installation before its certificate expires. Activation also triggers a one-time download of the encrypted audio assets covering the licensed domain. As of version 0.1.0-9, this synchronization step reports its progress live, language by language, rather than completing silently: each covered language is downloaded individually and its transfer progress displayed, while languages without an available audio corpus are explicitly reported as skipped.[4]

Security model

Independent of the license's domain-level scope, Mbase implements a locally administered, role-based permission system. An administrator can create named roles and grant them specific actions — such as producing text output or producing signed audio output — scoped to a particular domain and, optionally, a particular language. Signed audio responses are served through short-lived, cryptographically signed URLs rather than direct file access.[5]

Companion applications

Mbase Console

Mbase Console is a desktop application, built with Python and the Qt-based PySide6 toolkit, used by HMTC operators and partner technicians to administer deployed Mbase instances. It provides interfaces for registering and connecting to client machines, creating and auditing roles and access grants, issuing diagnostic composition requests (including decoding and playing back the resulting audio), and monitoring the resource usage and logs of a running installation over an authenticated SSH connection. Internal design documentation for the console describes an intentionally warm, non-clinical visual identity — built around an amber-and-cream color palette shared with HMTC's broader brand — reflecting the project's framing of African-language voice output as a matter of cultural dignity rather than a purely technical feature.

Maïka

Maïka is the underlying multilingual composition engine from which Mbase is derived, and continues to operate independently as a hosted, public-facing web application and API at maika.hmtc.bj. Project planning documentation describes Maïka's longer-term positioning as general-purpose language infrastructure for African languages, developed and trained one application domain at a time — beginning with finance, with healthcare described as a planned future domain — rather than as a product limited to financial use.[6]

Tassie

Tassie is a payment terminal and WhatsApp-based conversational bot, combining NFC-based transaction initiation with spoken transaction confirmation in a customer's own language. Tassie relies on the Maïka/Mbase composition engine to generate this spoken output. Its first supported languages, per initial project scope, are Fongbé, Mina, Dendi, and Adja, all spoken in Benin.[7]

Institutional context

According to internal project planning documentation, HMTC submitted applications covering both the Maïka and Tassie projects to the LINGUA Africa programme[8] [9] ahead of a stated 15 June 2026 deadline. The same documentation describes outreach to Benin's Presidency and its Ministry in charge of Digital Transition regarding potential institutional support for the two projects, including a meeting proposed for late July 2026 in Cotonou. These initiatives are described in HMTC's internal records; no independent, publicly published confirmation of their outcome is cited here.[10]

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.