Oddbean new post about | logout

Notes by miljan | export

 Primal for iOS v1.1 is now live on the App Store. 

Everything should be faster, smoother, and more reliable. Hope you’ll enjoy the shiny new image viewer. Please let us know if you run into any issues and what you would like to see in the upcoming releases. Enjoy! 🤙💜

https://apps.apple.com/app/primal/id1673134518 
 Congrats Derek! 

What an OG; you launched this service before I even discovered Nostr! Best of luck in the upcoming year sir. 🚀 
 We’ve leveled up to “it works sometimes” now 😂 

Next up: mostly works? 💪 nostr:note1... 
 🤝 
 Thx, tried with a Pheonix receive QR but failed multiple times. Must be on my end as just learning. 
 No problem and good luck!  
 Can we use GetAlby on Primal? New to it so could be “doing it wrong” 
 Alby is already supported in our Android app (via NWC). Unfortunately Apple doesn't seem to allow zapping from external wallets, therefore we don't offer that option on iOS. If this changes, we will re-enable NWC in our iOS app.  
 GM! Can/how do you send sats out of Primal? I found loading with Pheonix easy, but haven’t figu... 
 You should be able to send to any lightning address or pay any lightning invoice (using the scan command). We will expand this feature set in upcoming releases, so that you can also type/paste the destination text.  
 Looking forward to chatting with @walker later today. If you have questions for me or topics you'd like to see covered, just reply to his note below: 

nostr:note1yzhc5ysrgkzg799v20fd4d5wjfnnu63c0ljfrqd6m8lk69thyvuq96kvwf  
 Also don't donate any money to that woke shmuck.  
 Double tap to zoom would be great 
 🫡 
 Hey nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr and nostr:npub12vkcxr0l... 
 Thank you! Yes, you should be able to send sats to any lightning address or pay any invoice. You can use the scan option to do so. If you run into any issues with this let us know via DMs and we will take a look. 
 That really is missing nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr 
Now... 
 Working on a much nicer image viewer for the next iOS build. It will have a save command of course. Stay tuned! 
 Why is Primal not taking a cut? 
 Don't want to make those sats any more expensive. Our main objective atm is to grow Nostr.  
 Ever thought about an Apple watch App with integrated Ln wallet? 
 yes 
 The question is, why people still support Apple?  
 IMO, if we want to #grownostr we have to meet the users where they are. At Primal, we aim to build the best UX possible for all platforms and form-factors: web, iOS, Android, PWAs, and let users decide. 
 People are shitting on this decision but I actually think it’s a great option for people. Nice job 
 🫡 
 Thanks for clearing things out nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586... 
 🤙 
 So when buying €4,99 worth of sats within Primal wallet ~36% is deducted (in-app purchase). Bre... 
 Primal doesn't make any money on iOS in-app purchases of sats. Apple charges 15% in U.S. and Canada (30% elsewhere), Stike charges 1%. Apple might apply additional sales tax per their local app store rules. 

These aren't cheap sats. The option is there so that newly onboarded users can experience Nostr zapping without friction. We deliberately limit these in-app purchases to $5 at a time and $50 max per day.

Note that the "receive" function on the Primal wallet works as soon as you activate it. Users who already own sats can load their wallet that way and zap away! ⚡️ 
 Watched this whole RHR #rip @MartyBent @ODELL on #nostr.primal, on Saturday morning, it was liber... 
 🫡 
 I crashed Primal app zapping the frog 
 If you're going to crash the app, that's the best way to do it. 🤝

Just please make sure you submit the crash report, so that we can fix it. A much-improved iOS build is imminent.  
 Nice. I “jammed” to that pod on the way to and from work today. And now, too, am messing arou... 
 🚀 
 Thanks Preston. Your article finally motivated me to get on Nostr. Hopefully me bringing some non... 
 Welcome to Nostr! 🫂 
 Listening to Citadel Dispatch with nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9... 
 🫡 
 Primal is my new client of choice. For now. 

nostr is great 
 🫡 
 Muting is the highest form of disregard. 

Also Nostr's only dark pill. 
 Muted and reported. 
 nostr:npub12vkcxr0luzwp8e673v29eqjhrr7p9vqq8asav85swaepclllj09sylpugg 
Got my Apple Cash Card dea... 
 Hey @nobody, are you sure the reason was your in-app purchase of sats via Primal? Can you please share the exact message you received from Apple? Feel free to DM me if you don't want to share publicly. 

I doubt that buying sats via Primal was the issue, as they would have reached out to us as well.  
 nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr so this 1.0 release is pret... 
 🫡 
 I am working on an ecash native Lightning wallet service. Still a few months away from release bu... 
 Very cool! Good luck with your project! 💪 
 Will you allow NWC once iOS if the side loading apps will be a thing ? 
 Yes - if side loading becomes common on iOS, we will re-introduce support for external NWC-based wallets. 

Those who are skilled with iOS development can already use our source code to accomplish this.  
 Congratulations. I love the client. Added sats via  Apple. 
 🫡 
 Feature request: 
There should be an option to use your own lightning wallet for those with self ... 
 Thanks for the feedback! We are taking that exact approach with Android: users will have the option to use the built-in Primal wallet or connect to an external self-custodial wallet via NWC. 

Unfortunately, this approach won't work on iOS because, as far as we can tell, Apple won't allow zapping via NWC wallets. Hope this changes in the future. If so, we will offer this feature on iOS as well.  
 Congrats! Are you also integrating Nostr Wallet Connect for the in the in-app wallet? 
 Yes, implementing NWC for the built-in Primal wallet is on our to-do list.  
 The cap on custodied funds and the $5 purchase increments are a clever compromise geared towards ... 
 🎯 
 Loaded Primal on my iPhone.  Wallet balance is zero.  It's not clear to me how the wallet integra... 
 You can use the Receive function of the wallet to send yourself some sats, or buy a small amount via an in-app purchase.  
 how is the association/linkage between email address and the npub maintained.  Where is that info... 
 We store the email address for compliance reasons. We don't have access to the in-app purchase payment info. Therefore payment info is not associated with the npub.  
 All very nice, but I didn't understand what the purpose of my email is to register a lightning cu... 
 Compliance reasons 
 Blog Post: Introducing Primal for iOS 

I just shared more details about our iOS release, including our wallet approach: 

https://habla.news/u/miljan@primal.net/1701806342802  
 What happens when you integrate a Nostr client with a bitcoin lightning wallet? They both get massively better! Social interactions benefit from seamless micropayments, while the wallet is able to tap into the massive address book represented by the Nostr social graph. This makes it possible to interact with people around the world in totally new ways. For example, Markus from Germany can zap a note posted by Isabella in Costa Rica, who can then buy a coffee with those sats, *all from the same app*. 

At Primal, our goal is to deliver products that have mass appeal; products that can be easily used by anyone. Our latest iOS release represents our best take on how to build on open protocols and balance the tradeoffs between user sovereignty, user experience and ease of use. We believe that Nostr and Bitcoin will grow to billions of users, and we are building the technology that will help onboard and delight everyone. 

## Nostr Onboarding
Our goal is to achieve the highest level of user experience on a decentralized network, without sacrificing user sovereignty over their account, connections, and content. Therefore the onboarding process needs to be smooth and resemble what users are used to on legacy platforms, while providing access to their Nostr keys:

![Nostr Onboarding](https://m.primal.net/HSdl.png)

The user is able to sign up and start using Nostr quickly and without friction. Their key is available in the Account Settings, providing complete control over their Nostr account. In addition, the user can specify the set of Nostr relays they wish to publish to. The Primal iOS app signs all content with the user’s key and publishes it directly to the specified set of relays. This achieves full user control over their Nostr account, social connections, and the content they publish. 

![Primal Settings](https://m.primal.net/HSeE.png)

## Performance & UX
In order to compete with the centralized legacy platforms, we must match and exceed their level of user experience. Interfaces must load quickly and completely, otherwise people will lose interest and Nostr will see a high degree of user churn. With this in mind, we built the [Nostr caching service](https://habla.news/u/miljan@primal.net/Lightning-fast%20UI%20for%20Nostr), and open sourced it so that other Nostr developers can leverage it as well. This enables us to provide the types of user experiences that are expected by most people today: 

![Primal UX](https://m.primal.net/HSdo.png)

For details about our caching approach please refer to my [Nostrasia presentation](https://www.youtube.com/watch?v=NrUnJAovloQ). 
## Primal Wallet
We are psyched to introduce Primal Wallet, an insanely easy-to-use transactional wallet, ideal for holding small amounts of bitcoin and making payments on the lightning network. 

Strike is providing custody, fiat conversions, and lightning network connectivity to Primal users. By integrating with Strike, we are able to provide uninterrupted service to U.S. and international customers.

![Primal Wallet](https://m.primal.net/HSds.png)

Smooth onboarding and wallet operation are essential for our use case. Given that we are dealing with very small amounts, we decided to take the custodial approach. This sacrifices direct user custody over the funds, but makes the overall UX seamless and reliable. New users are able to send and receive sats as soon as they download the app. 

Here are a few additional points to keep in mind: 
1. **<ins>In-App Purchases</ins>**: Once the wallet is activated, it is fully-operational and able to receive sats. If the user doesn’t own any sats, they are able to buy small amounts via an in-app purchase, in $5 increments. Note that these purchases are subject to “Apple tax” (15% in U.S. and Canada, 30% elsewhere, for customers with iOS devices), plus 1% Strike margin. Primal does not make any revenue on these purchases. Users can always buy sats through a different method and send them to their Primal Wallet. The in-app purchase is merely a convenient way for new users to get started with small amounts.  
2. **<ins>Maximum Wallet Balance</ins>**: Primal Wallet is designed for holding and transacting with small amounts of bitcoin. Larger amounts should be kept in self custody, preferably on a hardware wallet. To encourage self custody for larger amounts, we are enforcing a maximum wallet balance of 1,000,000 sats (approximately USD $400 at the time of this writing).  

We believe that Primal Wallet offers the best tradeoff balance for our use case, including social media zaps, and small purchases: coffee, beer, lunch, etc. We are planning to expand the feature set of the wallet in the upcoming releases, based on the feedback from our users. 
## Open Networks Win
Nostr is an open network, not controlled by any person, company, nor organization. Anyone can join without asking for permission, and any developer is free to build on it. In a short amount of time, hundreds of projects have sprouted building on Nostr, including: Damus, Amethyst, Snort, Highlighter, Alby, Nos, Mutiny, Coracle, ZBD, Fountain, Habla.news, Plebstr, Spring, Iris, Nostrgram, Current, Blogstack, Zap.stream, Listr, Nostr.band, Nostr.build, Flycat, Nosta.me, NoStrudel, Nostur, Nostore, Zaplife, Wavlake, and many more. 

Your Nostr keys work with Primal, as well as *every other app in the Nostr ecosystem*. You can seamlessly use your Nostr identity in social media apps, blog/news sites, marketplaces, etc. Every Nostr product brings more users and more gravity to the entire network. This is why we believe that Nostr will eventually connect *everybody*. 

If you are not satisfied with the status quo dictated by the legacy media complex, if you think that the global town square should not be owned by anyone, if you feel that people should be in control over their online identity, social connections, and the content they publish - you do have a choice. Join us on Nostr. 🤙💜

 
 Thank you! 
 Yes, we are working on it as we speak. Android users will have the option to use the built-in Primal Wallet, or an external custom wallet via NWC. 
 Definatelly. Let's do this nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr.... 
 Thanks for bringing this up guys. Added to our list of items to investigate.  
 That’s a non-issue, as I can load up the wallet inside the app 
 exactly 
 Why the muted accounts are not private in Primal? 
 Mute list is public per NIP-51 
 Works great, but it doesn’t appear that notifications are working. App also doesn’t appear li... 
 Thanks! Somebody from our team will reach out to troubleshoot the notifications issue.  
 Do you have plans to consider IPA distribution like I've gotten nostr:npub1xnf02f60r9v0e5kty33a40... 
 If usage of IPA builds gets more widespread, we will look into distributing the iOS app that way too. Right now it's via the App Store or source code. 

On Android, we currently distribute via the Play Store, .apk, source, and planning to support F-Droid soon too.  
 Looks like it's very well integrated. Glad to see Primal pushing forward nostr and bitcoin adopti... 
 💯 
 when additional wallet support? 
 Working on it; aiming to release in the next few weeks. 

Note that we are planning to continue to support the option to use an external wallet on Android via NWC.  
 That could be one reason I buy an iPhone :-) .. Great going and keep on ! 
 😂👌

If you stick with Android, we'll have a solid release for you in the next few weeks.  
 Very nice overall, small thing to apply in my opinion, it is not possible to pay to an other LN w... 
 This should work. Let us know if you are running into issues, and we'll investigate.  
 Question, so the Alby wallet I had linked in TestFlight version is no longer linked and I have to... 
 Sorry, we don't support support NWC in the production App Store version of the app.  
 Great job! It’s easy enough now I can start recommending to family and friends. Great wallet in... 
 Thank you! 🙏

Glad to hear that you are able to recommend Primal to friends and family; that's exactly what we were going for! 
Event not found
 🫡 agreed!  
Event not found
Event not found
 Yes - and we are planning to continue supporting this indefinitely on Android. Users will have the option to use the built-in Primal wallet, or an external NWC-based wallet. 

Thank you for all your epic work on non-custodial lightning @OpenSecret team! 💪