Skip to content

NWC Deep Links#1777

Merged
pablof7z merged 1 commit intomasterfrom
nwc-dl
Oct 8, 2025
Merged

NWC Deep Links#1777
pablof7z merged 1 commit intomasterfrom
nwc-dl

Conversation

@pablof7z
Copy link
Member

This PR documents a standard for using deeplinks to communicate between a wallet and a nostr client.

The mobile app checks if there is a handler for nostrnwc:// or a handful of nostrnwc+{known_nwc-capable_wallets}:// -- if one is found, the app can open the app via a deeplink and receive the NWC pairing code back from the wallet.

@vitorpamplona
Copy link
Collaborator

Very cool. @jklein24 @bumi @rolznz

@pablof7z
Copy link
Member Author

This has been implemented on Primal and Olas.

@jklein24
Copy link
Contributor

Love it. This pairs nicely with NIP-68 for client app registration btw! You can use an oauth-like flow via these sorts of deeplinks if you add a pubkey+relay where the wallet can find the client app's nip-68 verification.

@rolznz
Copy link
Contributor

rolznz commented Feb 11, 2025

Nice and very simple addition to NIP-47. Alby is working on something similar right now for Alby Go.

The one downside I see is that it only works on a single device (e.g. it's impossible to connect your mobile wallet to an app running on your desktop or some service where they can provide a QR for you to scan). We are thinking of a simpler version of NWA implemented by Mutiny. It's a bit more complicated than this proposal, but more flexible and allows for more usecases. In case you are interested my current draft is here.

Alby's original 1-click connection flow had some optional parameters (e.g. configuring budget and supported methods) which could be great to add here too.

The name of the scheme nostrnwc is a bit strange, does it have a specific meaning? ("Nostr Nostr Wallet Connect")

@vitorpamplona
Copy link
Collaborator

I think adding this to AlbyGo would make the lives of all Alby users super easy. We could use 10s of apps and each could ping AlbyGo for a separate connection URL.

Apps knowing that there is a local app that can quickly connect users to their wallets is huge. We can check and just trigger the popup if we know the user already knows bitcoin/lightning.

@pablof7z
Copy link
Member Author

Demo video

media-cache

* `callback` -- URI schema the wallet should open with the connection string

Once a connection has been created by the wallet, it should be returned to the client by opening the callback with the following parameters
* `value` -- NWC pairing code (e.g. `nostr+walletconnect://...`)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be encoded?

When trying with the Alby Hub Olas almost immediately crashes after showing a primal logo.

Example URL: olas://dlnwc?value=nostr%2Bwalletconnect%3A%2F%2Ffc00def748e2b2780a9e558cd230cd24f939abfa2548092aceee2c70d18dbe4d%3Fsecret%3D75643a127aad012a45c56b11d945a4df6d3a109723edda0a60b17c8227eabebb%26relay%3Dwss%3A%2F%2Frelay.getalby.com%2Fv1

@tyiu
Copy link
Contributor

tyiu commented Mar 3, 2025

Great idea. I'm trying to build a similar deeplink flow for signer apps that would work for iOS (as it already does with Android), as an amendment to NIP-55.

@rolznz
Copy link
Contributor

rolznz commented Mar 3, 2025

Implemented in Alby Go getAlby/go#272

@vitorpamplona
Copy link
Collaborator

are we ready to merge this?

@pablof7z pablof7z merged commit 2ace01c into master Oct 8, 2025
@pablof7z
Copy link
Member Author

pablof7z commented Oct 8, 2025

are we ready to merge this?

#YESTR

@pablof7z pablof7z deleted the nwc-dl branch October 8, 2025 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants