Nostr Wallet Auth (NWA)
- Name: Nostr Wallet Auth (NWA)
- URL: https://guides.getalby.com/developer-guide/nostr-wallet-connect-api/building-lightning-apps/nwc-js-sdk
- Category: wallet-connectivity bootstrap protocol / client-initiated NWC authorization flow / wallet-to-app connection standard
- Tags: bitcoin-ecosystem nostr-ecosystem
- Summary: Nostr Wallet Auth is wallet-to-app bootstrap plumbing for Nostr Wallet Connect, not a separate payments rail and not some grand login layer. It flips the usual setup: the app creates the request URI and client-side secret, the wallet approves it, and both sides end up with an NWC connection in the background. The practical point is simple. It makes remote-wallet pairing less clumsy for mobile-first and self-custodial Lightning wallets.
- What it does:
- Lets an app generate an NWA URI that encodes a request to establish a wallet connection
- Uses a client-created secret so the app can initiate the connection flow instead of waiting for the wallet to issue credentials first
- Allows a wallet to parse the NWA request, present an approval screen to the user, and create the resulting NWC connection
- Improves mobile and QR-based connection UX for self-custodial or mobile-first Lightning wallets that are awkward to pair through copy-pasted connection strings
- Serves as a bootstrap layer on top of Nostr Wallet Connect, after which the app can send ordinary NWC payment requests
- Keeps control with the wallet side: the wallet can approve, reject, revoke, or optionally auto-approve later payment requests depending on wallet policy
- Key claims:
- Alby’s SDK docs say “NWA is an alternative flow for lightning apps to easily initialize an NWC connection to mobile-first or self-custodial wallets, using a client-created secret,” which is the clearest first-party description of its role
- The same docs say the app generates an NWA URI that should be opened in the wallet, where the user approves the connection, confirming that NWA standardizes connection bootstrap rather than post-connection payment transport
- Alby’s accept-flow example says wallet services can parse an NWA URI and create a connection via the
create_connectionNWC command, which shows NWA is operationally coupled to NWC rather than a separate wallet ecosystem - Mutiny’s launch post says NWA lets a client or service generate the request while the wallet and service negotiate the secret “in the background,” reducing secret-handling friction compared with traditional NWC setup
- The same Mutiny source emphasizes that the wallet remains in charge: users can approve payments, set auto-approve policies, or cancel the connection at any time
- The
awesome-nwcrepository and NWC homepage together frame the broader NWC ecosystem as non-custodial app-wallet interoperability where apps orchestrate payments without touching funds, which helps explain why NWA belongs in wallet-connectivity infrastructure instead of payments processing - The Codeberg NIP index currently lists “uNIP-49: Nostr Wallet Auth” as an unmerged draft, which is an important classification detail: NWA is real and implemented, but not yet a finalized canonical NIP in the same way NIP-47 anchors NWC
- Mutiny’s 2023 post described NWA support as initially live in Mutiny and Zapple Pay, which is useful evidence that the protocol emerged from real wallet-app pairing needs before broader ecosystem standardization caught up
- Whitepaper: No canonical standalone NWA whitepaper or litepaper surfaced in this pass, and no merged canonical NIP was found either. The clearest current source of truth is Alby’s NWC/NWA SDK documentation, the wider NWC ecosystem materials, the unmerged NIP index entry, and first-party implementation notes from early adopters; see
../whitepapers/nostr-wallet-auth-primary-sources-2026-05-03.md. - Sources:
- https://guides.getalby.com/developer-guide/nostr-wallet-connect-api/building-lightning-apps/nwc-js-sdk
- https://raw.githubusercontent.com/getAlby/js-sdk/master/docs/nwc.md
- https://raw.githubusercontent.com/getAlby/awesome-nwc/master/README.md
- https://nwc.dev/
- https://codeberg.org/nostr/nip-index
- https://blog.mutinywallet.com/nostr-wallet-auth/
- https://github.com/nostr-protocol/nips/pull/851
Internal linkages
- Best anchors: nostr-wallet-connect, walletconnect-auth, and alby.
Control surface
-
The leverage is in who generates the bootstrap secret, how the wallet scopes and revokes the resulting NWC connection, and which wallet implementation becomes the default approval surface for the app.
-
Treat NWA as connection bootstrap for NWC, not as a broad identity or payments standard.
-
Last reviewed: 2026-05-29 UTC