Over the past months, we have shared more details about where Nimiq stands and where it is going next. We have explained what changed inside the Foundation, elaborated on our renewed vision and the commitments that come with it, and opened the protocol technical roadmap to discussion in the Nimiq Forum. We made those commitments in the open, and this post follows through on one of them.
Building open source software is one of those commitments and one of Nimiq’s pillars. The Nimiq protocol and its reference implementations are already public, and we set out why this matters to us in Why Open Source Is Part of Nimiq’s DNA. Today, we double down on it, starting with Nimiq Pay.
Nimiq Pay is now open source. Its full source code is public on GitHub at github.com/nimiq/nimiq-pay-app under the GPLv3 license, so the app people use to pay with Nimiq now follows the same philosophy as the protocol underneath it.
What Nimiq Pay is
Nimiq Pay is a self-custodial mobile wallet for iOS and Android. It is built to make crypto payments feel easy and smooth, like contactless payments: you hold your own keys, and paying takes little effort.
With Nimiq Pay, you can currently:
- Hold, send, and receive NIM and USDT, and enter amounts in crypto or in your local currency
- Send USDT without holding any other token to pay network fees
- Pay merchants by scanning a CryptoPayment.link QR code
- Pay Bitcoin Lightning invoices with NIM or USDT, with the swap handled in the background
- Open Mini Apps, third-party apps that run inside Nimiq Pay
If you are curious to know more about the integration of Bitcoin Lightning, how a Lightning payment settles from NIM is explained in this blog post.
Inside Nimiq Pay
Three parts of the app matter most for anyone reading the code: how it keeps custody with the user, how it works across two networks, and how it hosts Mini Apps.
Self-custody, enforced by the app
Keys stay on the device, and Nimiq never has access to user funds. The app is protected by a PIN or biometrics, and it stores local data in an encrypted database. Every action that moves funds, signs a message, or shares an account goes through a native confirmation screen.
Self-custody also stays out of the way until it matters. Recovery phrases and network details appear only when they are needed, such as during backup or recovery, so everyday payments stay simple.
Two networks in one app
Nimiq Pay is a Nimiq wallet, an EVM wallet, and a Bitcoin Lightning wallet in one. NIM moves on the Nimiq blockchain, where the app runs its own Nimiq client. USDT moves on Polygon. For Mini Apps, the app's Ethereum provider also reaches Ethereum, Arbitrum One, Optimism, Base, and BNB Smart Chain, with the same address on every chain.
A host for Mini Apps
Every Mini App is a web app that runs inside Nimiq Pay. The app injects two providers into it: a Nimiq provider, used through the Mini App SDK, and a standard Ethereum provider, window.ethereum. When a Mini App makes a request, the app validates it, shows a native confirmation where needed, and only then executes it.
Through these providers, Mini Apps can request payments (including Lightning payments), read NIM balances, and switch to fullscreen. The repository includes the provider injected into Mini Apps and a demo app so that builders can see exactly what their Mini App talks to. For more info and Mini Apps features, check our documentation.
Mini Apps and the ongoing building competition
As of now, Cycle 3 of the Mini Apps Competition is starting, running from October 14 to November 11. The competition invites builders to ship a Mini App over four weeks, and the Nimiq Community Council scores every submission.
Every submitted Mini App runs inside Nimiq Pay, and the app includes its own showcase of competition entries. With the code now public, builders can read the host their Mini Apps run in, not only the documentation that describes it. For a fuller introduction, see Mini Apps Framework, and start building with the Mini Apps documentation on the Developer Center.
What's next
Once the protocol technical roadmap is finalized, a public version will be added to the Nimiq website and announced with a changelog showing what moved and why.
In the coming weeks, we will share more about the flagship end-user app we have been designing and how it connects with Nimiq Pay. As we set out in Beyond the Crypto Label, we are focusing new product development on this one application while maintaining our existing core products.
Narrowing our own product work does not narrow the ecosystem. Our objective is to make it easier for others to build on Nimiq, and opening Nimiq Pay is part of that path: its code, the Mini Apps framework, and the Developer Center are open for anyone to read, learn from, and build on. We look forward to what you'll build with us in the future.
Pura Vida,
Team Nimiq

