lomi.
Open source

Codebase

Overview of the lomi. monorepo layout, what is open source today, and how local development differs from the hosted platform.

Hosted vs open source

Production payments run on lomi.’s hosted platform only. The monorepo is a local workspace for lomi. engineering. Each app may also deploy from its own GitHub repository, but the canonical tree lives under github.com/lomiafrica/lomi..

Cloning the repo does not give you a supported way to self-host payment processing. Use the hosted platform for live traffic.

Roadmap

We are progressively open-sourcing the monorepo. Self-hosting the full payment stack is a long-term objective, not something we support in production today. The path looks like: publish more source → document operator requirements (providers, MoR, compliance) → offer a supported self-host option when the stack is complete and safe to run without lomi.’s hosted services.

What is open today:

  • Currently open source:

    • Documentation website: apps/docs (this site)
    • CLI (apps/cli), integrator tool; build on the hosted API, not platform ops
    • API service: apps/api
    • SDKs: apps/sdks
    • E-commerce plugins: separate repos under apps/plugins/, woo, magento, prestashop, shopify, bubble
    • MCP server (apps/mcp), integrator tool; merchant API in your IDE, not platform ops
    • Events boilerplate (separate repo): lomiafrica/events
  • Opening soon:

    • Merchant dashboard: apps/dashboard
  • Proprietary:

    • Admin dashboard: apps/admin
  • Hosted product (source not fully public yet):

    • Checkout: apps/checkout
    • Storefront: apps/storefront
    • Customer portal: apps/customers
    • Marketing website: apps/website

Many files, especially database migrations and core payment logic, are marked /* @proprietary license */ even inside AGPL-licensed apps.

Monorepo layout

└── lomi./
    ├── README.md
    ├── CONTRIBUTING.md
    ├── LICENSE
    └── apps/
        ├── admin/        # Internal admin (proprietary)
        ├── api/          # NestJS payment API (open source)
        ├── checkout/     # Hosted checkout (hosted product)
        ├── cli/          # Rust CLI (integrator tool; open source)
        ├── customers/    # Customer portal (hosted product)
        ├── dashboard/    # Merchant dashboard (opening soon)
        ├── design/       # Shared design assets
        ├── docs/         # Developer documentation (open source, this app)
        ├── jumbo/        # Mobile POS (MPOS) merchant app
        ├── mcp/          # MCP server (integrator tool; open source)
        ├── plugins/      # WooCommerce, Magento, PrestaShop, Shopify, Bubble, references
        ├── sdks/         # TypeScript, Python, PHP, Go SDKs (open source)
        ├── storefront/   # Merchant storefront (hosted product)
        └── website/      # Marketing site (hosted product)

Merchant dashboard (apps/dashboard)

The dashboard is the merchant back-office (transactions, payment links, settings, analytics). It is a hosted product today; source is opening progressively.

High-level layout:

└── apps/dashboard/
    ├── package.json
    ├── .env.example
    ├── src/              # React app (Vite)
    ├── supabase/         # Canonical DB migrations and edge functions
    │   └── migrations/
    └── public/           # Static assets

Database migrations under supabase/migrations/ are the schema source of truth for the platform. They are not a recipe for running your own payment stack without lomi.’s hosted services and provider agreements.

Contributing

We welcome contributions to open-source areas and documentation. Open an issue or submit a pull request on the lomi. monorepo.

Before contributing:

  1. Read our Code of Conduct
  2. Review our Security Policy
  3. Do not modify files marked with /* @proprietary license */

See Contributing and the monorepo CONTRIBUTING.md.

On this page