Mojaloop's central ledger has run on MySQL since the platform's early days, and it has served the community well. As adoption grows and national payment systems push for higher throughput, the ledger has become one of the most important places to look for performance gains. That is why work is well underway to introduce TigerBeetle, a database built specifically for financial transactions, as a new ledger implementation for Mojaloop. Over time, it will replace the current MySQL ledger.
The main reason for the change is performance. A large share of the contention in today's ledger comes from row locking in the relational database. TigerBeetle's architecture greatly reduces that locking, and we expect a significant improvement in throughput as a result.
A change this close to the core of the platform needs a careful, open process. This post explains that process, what has been done so far, and what you can expect over the coming months, including how you can get involved.
Where we are today
We are currently in the implementation phase, and a preview release is expected in the coming weeks. Here is the full journey at a glance:
| Phase | Status |
|---|---|
| 1. Programme design | Complete |
| 2. Implementation | In progress |
| 3. Preview release (non-production) | Coming weeks |
| 4. MLF and community testing | Upcoming |
| 5. Community feedback incorporated | Upcoming |
| 6. Production release | Upcoming |
Phase 1: Programme design
Before writing any code, we needed a design the community could trust. This phase covered four areas of work.
Account mappings and a new chart of accounts. We defined how Mojaloop's accounts and their behaviours map onto TigerBeetle. This work was also seen as an opportunity to introduced a new chart of accounts (CoA) model more closely aligned with industry practices. The mappings were reviewed by the Technical Governance Board (TGB) and the Design Authority (DA). One point is worth stressing: the new CoA applies only to the TigerBeetle ledger. It will not be applied retrospectively to the existing MySQL ledger.
An abstracted ledger interface. To let Mojaloop support more than one ledger, the interface to the existing MySQL ledger is being refactored behind an abstraction. The rest of the platform then talks to "a ledger" rather than to MySQL directly.
Settlement redesign. Settlement was redesigned to serve two goals at once. It keeps existing behaviours intact, so the change is non-breaking for current adopters. It also prepares for a future in which TigerBeetle is the ledger.
Review with the Design Authority. The complete design was shared with the DA and discussed openly. No objections were raised, which cleared the way for implementation.
Phase 2: Implementation
This is where we are now. Lewis Daly from TigerBeetle is working with Mojaloop Foundation (MLF) staff, the core team and community contributors to build the agreed design.
We have kept the work as transparent and reviewable as possible:
- Self-contained pull requests are raised regularly and announced in the usual PRs Slack channel. Each one can be understood on its own.
- Open review. The core team and any interested community members review the PRs and give feedback, and we iterate until the features are ready for a preview.
- Performance testing is running alongside development, so we can evaluate the new ledger's performance as it takes shape.
- Testing is non-negotiable. Tests are refactored where the underlying code has been refactored. All existing unit, integration and end-to-end tests must continue to pass. New and expanded test coverage is being added for TigerBeetle-specific features.
If you have been meaning to look at the code, now is a great time. Review comments at this stage are the cheapest and most valuable kind of feedback.
Phase 3: Preview release (non-production)
In the coming weeks we will publish a preview release. It is for experimentation and testing only and is not intended for production use. To make that unmistakable, it will ship as a specially and clearly named Helm release.
The preview will include a range of configuration options so you can enable and explore the new features in your own test environments.
Documentation will accompany the preview. It will cover deploying TigerBeetle for development and test environments, plus an early look at our production deployment recommendations, including infrastructure requirements and deployment architectures. We are also looking at tooling to support data migration as part of this work.
Phase 4: MLF and community testing
Once the preview is out, the testing really begins.
The performance workstream will run benchmarks against the new ledger and publish the results. These results may lead to changes in the recommended infrastructure, and those changes will be published too.
We also want to hear from as many of you as possible. System integrators, adopters and all community members are encouraged to deploy the preview, test it in your own scenarios and share your feedback. Real-world configurations and use cases are the best way to find the edge cases that matter.
Phase 5: Community feedback incorporated
Feedback from the testing phase will be reviewed and folded back into the implementation. This loop is what turns a promising preview into a release the whole community can rely on.
Phase 6: Production release
The production release will be much more than a code drop. It will include:
- Final deployment documentation for development, test and production environments, including a migration plan.
- Updates across all Mojaloop documentation to reflect the TigerBeetle changes.
- Tooling and scripts for a failsafe upgrade path, so existing adopters can move to the new ledger with confidence.
- Training material and documentation on the new chart of accounts, so operators, hubs and integrators understand how the new model works.
How you can get involved
There are several ways to take part, both now and in the months ahead:
- Follow and review the PRs announced in the PRs Slack channel.
- Watch for the preview release announcement and try it out in a non-production environment.
- Share your feedback, whether it concerns configuration, documentation, performance or the new chart of accounts.
- Keep an eye out for the published benchmark results from the performance workstream.
Replacing the ledger is one of the most significant changes Mojaloop has taken on. By doing it in the open, with clear phases and plenty of chances for review, we aim to deliver a major performance improvement without compromising the stability adopters depend on. We look forward to your feedback on the preview.
AI Disclosure: This document includes content generated with assistance from Claude Opus 5. All content has been reviewed and validated by the author.
Top comments (0)