Connecting Nostr apps to external wallets is accomplished via the Nostr Wallet Connect protocol. It utilizes Nostr’s public relay infrastructure to enable communication between apps and wallets. You can learn more about this protocol here, and access developer docs here.

The smooth, two-click connection setup UX is implemented through deep links between Primal and the external app. Here’s the deep link that the external app needs to call to invoke this feature:

nostrnwc+primal://connect?appicon=[icon_url]&appname=[app_name]&callback=[callback_string]

After the user clicks “Create Wallet Connection” in Primal, the Primal app calls the deep link defined in the callback, and passes the NWC connection string. That’s all that the external app needs to make the wallet connection.

Reply to this note

Please Login to reply.

Discussion

I would like to see if this can be implemented in podcasting apps! nostr:nprofile1qqswfa547pdmqkerzf2uen3agudc67wxffjmenqpge3dylc006fppys27zxn8 nostr:nprofile1qqszxyp33y6kea7ghsymhz6rrlp7w859tqkg7a2mnmskqgpunsv7gqcx9qgdn nostr:nprofile1qqsgs0l2fsr3lkjyqmftv6lzrjc7mt6950s9spgdvgq7euwnt94mcwg7w7a88 nostr:nprofile1qqs00y32ptdnlfxa5hhv4f30dalwv9vl0a27pqpkdpkx3cyrstp50zq05v2r3 please share this article with other podcast app developers and folks and let’s get payments as smooth as possible for all podcast apps.

nostr:nevent1qqsv8eez464lxnuy93wydpa3clq6v88hfxmrjjcv2f6zfltckapsyjczypljv3lcp4ta2n4kmhgdny4fw4arg8k5nh2qwnx83lqpmh4ppgddjqcyqqqzvjsy8vyt8

nostr:naddr1qq0y2an9wfuj6stswqk5uet9v3ej6snfw33k76tw943hjvm4wejqygxkruautvltgsqwlkhxz6d9c972hueyddg5xcw7jwwwfgdqmfh0fgpsgqqqw4rskn9d87

It’s possible with certain wallets, but not most wallets. The wallets will either have to start supporting keysend, or the podcasters will have to update their value blocks to use lnaddress.

The trade off with using lnaddress is the loss of the TLV record so Boostagrams are shorter, and there’s a lot of metadata lost.