pull down to refresh

An Android client for your own LNbits server. EmberSpark is not a wallet on its own. The LNbits server you operate is the wallet, and EmberSpark works like a remote control that lets you use it from your phone. Built for everyday personal and family use. Send, receive, scan a QR, and move on.

Download APK file

Features

  • Lightning send & receive through your LNbits wallet
  • Multiple LNbits server connections managed in one app, with a quick switcher under the home menu and per-connection identifiers and label
  • QR scanner that auto-detects BOLT11, BOLT12, LNURL, or Lightning addresses and routes to the right flow
  • BOLT12 support: pay offers (lno1…) and invoices (lni1…), or generate your own offer for static receive
  • LNURL support: pay, withdraw, and cryptographic auth (LUD-04)
  • Lightning addresses (user@host)
  • My Contact: share your Lightning address, BOLT12 offer, and LNURL-pay link via QR, copy, system share, or NFC. The LNURL-pay link and BOLT12 offer can be auto-generated from your LNbits server.
  • Deterministic avatars per LNbits connection derived from your public Lightning identity, so the same connection shows the same avatar across devices and saved contacts show the same avatar as the owner's home screen
  • NFC read and write for Lightning destinations
  • Acts as a system handler for lightning: deep links. Tap a Lightning link in any app and EmberSpark opens.
  • Live transaction history: incoming and outgoing payments surface within a few seconds, no manual refresh
  • Tap any amount on Home or History to swap between sats and fiat. The preference persists across restarts.
  • Currency switcher on the Receive screen, so you can enter the amount in fiat, see the sats equivalent, and create the right invoice
  • Fiat balance display (USD / EUR / GBP / CHF / CAD / AUD / JPY) via mempool.space
  • Contacts: save destinations you pay regularly, scan-to-add or paste, edit or delete, pick from the list on the Send-to screen
  • Editable LNbits connections (URL, admin key, label) without losing the per-connection My-Contact entries
  • Biometric or device-PIN lock on app launch
  • API key stored in Android KeyStore via flutter_secure_storage
  • "Allow unverified HTTPS" toggle for self-signed certificates or .onion LNbits servers