v13.1.0 Highlights:
- feat: Cashu multi-mint sends
- feat: iOS: queue-less Nostr Wallet Connect (NWC) payments (h/t Primal)
- feat: pay to CLINK noffers
- feat: ZEUS Pay: CLINK noffers for every account
- feat: ZEUS Pay: opt out of Nostr Zaps
- feat: Android: enable scanning functionality in stealth QR scanner
- ui: animated keypad input
- enhancement: detect Cashu tokens wrapped in any URL (h/t Agi.cash)
- enhancement: Android: enable persistent mode without restart
What's Changed
- fix(OpenChannel): switch destination to Custom when importing node URI from clipboard by @kaloudis in #4113
- chore(deps): bump qs from 6.15.1 to 6.15.2 by @dependabot[bot] in #4114
- feat(ui): add reusable accordion with smooth animation by @ajaysehwal in #3869
- fix(ui): remove CollapsedQR iconOnly prop to prevent button overflow by @ajaysehwal in #4111
- feat: show free-channel and failure status banners on LSPS1/LSPS7 order view by @kaloudis in #4109
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4116
- refactor (bolt11): replace bolt11 npm package with Bolt11Utils by @shubhamkmr04 in #4027
- feat(ui): animate amount digits on keypad display by @ajaysehwal in #3983
- feat(nwc): add lud16 param to NWC connection URL by @ajaysehwal in #4007
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4117
- feat: wire up stealth QR scanner with react-native-vision-camera by @kaloudis in #4052
- feat(cashu): detect cashu tokens wrapped in any https URL by @kaloudis in #4106
- deps: react-native-tor -> react-native-nitro-tor by @kaloudis in #3971
- ci: upgrade Node.js for GitHub Actions runtime by @kaloudis in #4021
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4120
- feat: ZEUS Pay: opt-out toggle for NIP-57 zap receipts in Lightning address settings by @kaloudis in #4110
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4121
- chore(deps): bump tmp from 0.2.4 to 0.2.6 by @dependabot[bot] in #4119
- fix(nfc): add NDEF_DISCOVERED intent filters for lightning URI scheme by @AxelHamburch in #4103
- refactor: free channel and extension payment flow by @shubhamkmr04 in #4115
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4124
- chore(android): consolidate duplicate intent-filters in AndroidManifest by @kaloudis in #4123
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4127
- feat: add Cashu mint quote recovery tool by @kaloudis in #4129
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4131
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4132
- fix(android): apply LDK and LND persistent mode toggles without app restart by @kaloudis in #4125
- fix: repair stale invoice expiry display ("3600 hours") for upgraded users by @kaloudis in #4128
- refactor: replace bip39 with @scure/bip39 by @myxmaster in #3986
- feat: CDK multimint sends by @a-khushal in #3773
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4139
- feat(LSP): add waiting screen for LSPS1/LSPS7 external wallet payments by @shubhamkmr04 in #3985
- feat: pay Nostr Offer Strings (CLINK) by @kaloudis in #4102
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4140
- [feat] iOS: support persistent NWC connections in background by @kaloudis in #4067
- [Transifex] Updates for project ZEUS by @transifex-integration[bot] in #4141
- fix(ios): persist NWC ambient track selection across restarts and sessions by @kaloudis in #4142
- feat: Add invoice expiry to swaps view by @shubhamkmr04 in #4137
- fix(ios): NWC Dynamic Island lifecycle when host app is dismissed by @kaloudis in #4143
New Contributors
- @AxelHamburch made their first contribution in #4103
Full Changelog: v13.0.2-rc4...v13.1.0-beta1
Verifying the Release
In order to verify the release, you'll need to have gpg or gpg2 installed on your system. Once you've obtained a copy (and hopefully verified that as well), you'll first need to import the keys that have signed this release if you haven't done so already:
gpg --keyserver hkps://keys.openpgp.org --recv-keys 96C225207F2137E278C31CF7AAC48DE8AB8DEE84
Once you have his PGP key you can verify the release (assuming manifest-v13.1.0-beta1.txt and manifest-v13.1.0-beta1.txt.sig are in the current directory) with:
gpg --verify manifest-v13.1.0-beta1.txt.sig manifest-v13.1.0-beta1.txt
You should see the following if the verification was successful:
gpg: Signature made Sat Jun 6 09:03:15 2026 EDT
gpg: using RSA key 96C225207F2137E278C31CF7AAC48DE8AB8DEE84
gpg: issuer "zeusln@tutanota.com"
gpg: Good signature from "Zeus LN <zeusln@tutanota.com>"
gpg: aka "ZEUS Support <support@zeusln.com>"
That will verify the signature on the main manifest page which ensures integrity and authenticity of the binaries you've downloaded locally. Next, depending on your operating system you should then re-calculate the sha256 sum of the binary, and compare that with the following hashes:
cat manifest-v13.1.0-beta1.txt
One can use the shasum -a 256 <file name here> tool in order to re-compute the sha256 hash of the target binary for your operating system. The produced hash should be compared with the hashes listed above and they should match exactly.
Android fingerprint
Users verifying the release on an Android device can check against the key fingerprint below using AppVerifier. This fingerprint can also be found on our website here.
SHA1: 32:06:3C:97:96:38:0D:99:EE:4A:CB:B8:1E:2A:6F:27:FD:66:8E:C1
SHA256: 2A:F8:E2:0A:C9:44:57:67:CB:D4:4E:D8:4D:BB:FC:33:C6:C9:82:48:89:7C:4F:84:3C:42:C2:76:5C:4A:D3:BA
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
External links
Android
arm64-v8a APK
Universal APK
Manifest
Manifest Signature