Nimiq Pay Utils

Ship direct Nimiq Pay sign-in, desktop-to-phone QR handoff, mini-app runtime detection, and local host simulation from one workspace.

This monorepo contains reusable packages, a shared E2E test package, and one Nuxt playground that demonstrates both auth flows.

Choose the package that fits your app

    Direct sign-in
    Use @onmax/better-auth-nimiq-pay when the app already runs inside the Nimiq Pay mini-app and can sign in immediately.
    QR desktop handoff
    Use @onmax/better-auth-mobile-qr when a desktop browser starts the flow and a phone mini-app approves it.
    Runtime adapter
    Use @onmax/nimiq-mini-app-runtime when your app needs one normalized way to wait for and access window.nimiq.
    Local simulator
    Use @onmax/nimiq-mini-app-simulator when you need a mock host shell, injected provider, or a Nuxt devtools sidecar before involving a real wallet bridge.

What ships in this repo

  • @onmax/better-auth-nimiq-pay adds direct Nimiq Pay sign-in to Better Auth.
  • @onmax/better-auth-mobile-qr adds same-origin desktop-to-phone QR sign-in.
  • @onmax/mobile-signer-bridge defines the generic phone-side bridge contract.
  • @onmax/mobile-signer-nimiq-pay adapts that bridge to the Nimiq Pay mini-app provider.
  • @onmax/nimiq-mini-app-runtime normalizes and waits for the published Nimiq mini-app provider.
  • @onmax/nimiq-mini-app-simulator injects a mock provider and optional Nuxt dev sidecar.
  • @onmax/better-auth-nimiq-pay-e2e provides local fetchers, stub providers, Vitest helpers, and shared scenarios.

Start with the playground

The monorepo includes one Nuxt playground that demonstrates both auth flows on one origin. Use it to verify package behavior before you integrate the plugins into your own app.

Open the playground guide.
Copyright © 2026