Egge is a key contributor of the cashu protocol, focused on private, cheap, offline, and programmable bitcoin wallets. We dive deep on cashu, nostr, and the broader bitcoin ecosystem.
Egge on Nostr: https://primal.net/p/nprofile1qqsdmup6e2z6mcpeue6z6kl08he49hcen5xnrc3tnpvw0mdgtjemh0suxa0kj
npub.cash: https://npub.cash/
cashu.me: https://cashu.me
cashu.space: https://cashu.space/
EPISODE: 176
BLOCK: 913322
PRICE: 899 sats per dollar
(00:01:18) Happy Bitcoin Friday
(00:03:19) Nostr Live Streaming and Open Protocols
(00:04:41) Egge: Creator of npub.cash
(00:05:53) Understanding npub.cash and Lightning Addresses
(00:09:15) The Evolution of npub.cash
(00:14:07) Challenges with Redeeming Zaps
(00:18:50) Future Improvements in Cashu Protocol
(00:22:23) Cashu Ecosystem and Development
(00:27:00) Mint Discovery and User Experience
(00:36:00) Public Infrastructure and Vibe Coding
(00:43:06) The Future of Mint Operations
(00:51:00) Risks and Responsibilities of Running Mints
(00:57:54) Improving Mint Discovery and Recommendations
(01:06:19) User Experience Challenges in Cashu
(01:13:08) Implementing Cashu
(01:17:11) Point of Sale Systems with Cashu
(01:24:03) Bolt 12 and Future Payment Protocols
(01:30:57) The Potential of Cashu and Nostr
Video: https://primal.net/citadel
more info on the show: https://citadeldispatch.com
learn more about me: https://odell.xyz
Cars now steer themselves through our cities. Robots hold steady hands in the operating room, and drones are redefining the future of war. Innovations of first generation humanoids, factory automation, and autonomous vehicles have surged from private sector investment. Every one of these advancements is powered by AI. The robots are here. Our future is no longer science fiction.
[00:01:19] ODELL:
Happy Bitcoin Friday, freaks. It's your host, Odell, here for another civil dispatch, the interactive live show focused on actionable Bitcoin and freedom tech discussion. That intro clip was none other than our first lady, Melania Trump, talking about the robots being here. I could not find a I could not find a Bitcoin clip I wanted to use for this week, so you got her instead. I hope you enjoyed it. As always, dispatch is funded by our audience with Zaps, with Sats, Bitcoin donations. We have no ads, no sponsors. You can find all links to the show at silldispatch.com.
The easiest way to support the show is through zaps on Noster. Our largest zaps last week were Trazyn, rider die freak Trazyn, t r a z y n, saying another amazing rip. 54,000 sats sent. Thank you. And rider die freak map 21, great rip, 10,000 sats. And you can also support the show through podcasting two point o apps like fountain podcast. Largest app over there was BTC shelling point with 21,000 sats. Said moving the needle. Excited to see this in my hands. Since last week at Primal, we have launched live streaming support. So now you can watch and interact with the show, through the Primal app on web, Android, and iPhone.
On iPhone, we have a small glitch where you can only chat if you zap. So even if you just include one set, you can add a comment in there. We do have an update in the works, but it's gotta go through the Apple Store. So, hopefully, that'll be out soon. It wasn't intentional. Although, I'm kinda liking the idea of SATs for chat. So we might make that a setting where streamers can choose how many sats are required to chat in the live chat. But, anyway, I see super fat arrow here, zapped 21,000 sats, freedom tech for the win. And by the way, guys, just real quick on the Nostril live streaming, it's an open protocol. It's an open standard.
If you stream you can still view the stream in ZapStream. Any streams that are started in ZapStream, you can also view in Primal apps, any other app that supports it like Nasir or Amethyst, or Nostrudl. All these apps support the streams. You can also self host your own streaming server and ZapStream Primal and all these other pick it up. It's really, really cool. I think we're, like, on the early stages of of coming after Twitch and x and YouTube. I'm really excited. But, anyway, freaks, we have a great show today. We have Eggie here, maintainer, creator of npub.cash, a tool that I absolutely love working in the Cashew ecosystem. How's it going, sir? Welcome to the show.
[00:04:16] Egge:
Thank you so much for having me. I'm good.
[00:04:19] ODELL:
Did you see we got this guy must be an iOS free key. He just zapped us one set. Really, thank you for moving the needle and really supporting the show. It keeps me coming back week after week. I wanna start we can talk about a bunch of different things. How he's he's not even an iOS freak. He can chat without sending a a sat. So thank you. Thank you for sending the sat. I wanna start with your project mpub.cache. I mean, I think it's awesome. I'm a user. You can zap me at [email protected]. What is it? Why should people care? Let's start high level.
[00:04:56] Egge:
Yeah. Sure. Yeah. So, end up with cache. The idea basically is a lightning address for everyone, based on on Nasr and Cashew. So if you ever, like, had a different lightning address, you know, that it's like you need a web service of some sorts to, like, host it. Right? Usually, that is done via custodian. That's probably where most people get their lightning addresses. You can do it yourself, but you've require, like, an l l n URL server. It's it's a bit of a headache to set up with a personal, like, private note on Tor and stuff. So when I started working on Cashew, the thing that I love the most and also on Asterisk. The thing that I love the most about these two protocols is, like, everything is public infrastructure.
Right? You don't you don't need to do your own stuff. You can do your own stuff. Right? But, like, with relays out there with that don't require, like, you to set up something yourself, you could just communicate with them. And cache has the means you can just communicate with them without having to set up something yourself. You can use private, public infrastructure to just build things. So I was like, okay. Maybe we can build a lightning address on that. And turns out we were able to do that. So that's basically in public cache. It's a lightning address that does not require sign up. It just is based on your Anausa identity that uses, Anausa public keys and private keys for authentication.
And if you have an NOSA account, you have an npop.cache lightning address because it's your npop at npop.cache, is is already your lightning address. So if I know your n pop, I can I can zap you, and you can redeem the sets later on?
[00:06:32] ODELL:
Love it. Yeah. I mean, I think that's the coolest part is, that basically anyone who has a nonster NPUB immediately has a corresponding Lightning address with zero setup. Like, they can you can like, they can figure that part out later. If if you just zap them there, they will eventually be able to go and get the SATs and redeem the SATs. I think it makes it way easier. I mean, I think anyone that's been active in the Nasr ecosystem has seen the pain point that is how do I get my first Zaps. Right? Like, where do the first Zaps come from?
[00:07:15] Egge:
Yeah. That's also kind of the origin story of m dot dot cache a bit. So, before we got started building m dot dot cache as a standalone thing, I was still working on an also client. It it was called Current. It was early days. So we built Current, as a off custodial thing. So, basically, there was a, inbuilt lightning wallet that was hosted by us, that was custodial. And because we we always felt like, okay. If you if you onboard new people to Nasr, that was always the goal of of the project to, like, onboard people from other platforms to get them over to Nasr.
And Zaps are one of the main reasons to do that because Zaps are just amazing. But then you need to provide some, like, simple interface to, like even if people don't understand what Bitcoin is, right, they still should be able to, like, kinda use it without having to set up a lot of stuff. So our first solution to this was custodial. But that was was a very bad solution, obviously. First of all, because it's not the thing that we want to do, and second of all, because it's just such a headache going through Apple. For example, when you build a native app and you have, like, a Custody wallet in there, Apple's, like, not not gonna be happy about that. Oh, it's, like, very difficult to get Apple happy. So that was when we thought, okay. Maybe we can build a non custodial lightning wallet, with LDK, other stuff in in our, in our native in our native app. But then you get the challenge. Well, how do you do the lightning address? Because that's, again, like, one of the key key things, that that is required on also to have the most fun. Right? You need the lighting address because that's built on lighting addresses.
And that's kinda where the idea came from. It was, during sec one, during the, free Madera, the, Atlantis conference. And, yeah, so, that's where the idea came from. And then current kinda went away. I was like, okay. This is still a great thing, and we should have it as a standalone service for anyone to use. And I think the main vision back then was, hey, and also clients, you should probably use this as a default. Today, what what I see most use is, Cash wallets using it as a default. I mean, like, hey. You have a Cash wallet, and now it also comes with a lightning address. So for example, cash. Me has m p p p cash in it. Sovereign has m p p p cash in it. I'm currently rewriting e nets. E nets gonna be, gonna have m pop up cache in it as, like, the the way of, like, using or having a lightning address for your cash wallet.
[00:09:50] ODELL:
Yeah. That makes sense to me. I mean, I love cashew.me. And my understanding speaking with, Cali was it was pretty it was relatively easy for him to implement the lightning addresses using mpub.cache. So let's talk about real quick, like so it's using Cashew on the back end. Yeah. I, it it and and the cool part about that is you're not actually my understanding is you're not actually the custodian for mpub.cache. Right? It's using Mints run by other people. Yes. Exactly. So,
[00:10:28] Egge:
I'm I'm like, there's some nuances to this. First of all, there's, like, two Yeah. Let's explain the nuances. So, so right. Like, in the in the in the base case, because the mint is the real custodian. I mean, it also depends on, like, how do you define custodian. With the base setup, that is, like, the most compatible setup, and put that cache, the server is in possession of the cache proofs. So it it It's holding the bearer IOT. Exactly. So it is not Got it. Technically, like, the limit is still the custodian, but, like, end of the cache is the next in line custodian. Got it. Then with with Cashier, there's a pay to public key, for example, where you can, like, lock tokens to a certain public key. So whoever holds the token will not be able to redeem it with the mint without actually signing for it as well.
So with that, n pop dot cache can actually, like, not be in the, like, the next in line custodian anymore, basically. So if the token is locked to your public key, even n pop dot cache couldn't spend it. And it's actually very good for n pop dot cache as well because it's not in Honeypot anymore. Right? The database is basically useless to an attacker. There's even more moments because now there's ntop x dot cache, which is the nightly version of ntop cache v two, basically. The reason why we build it on a different or I build it on a different domain is because, obviously, I didn't want to break it for people that currently use it. But there's the experimental npopx. Cache that works in a completely different way.
Like, from the outside, it still works. It looks like the exact same thing. But on the inside, it is actually not even creating tokens, cash tokens. It is just like creating a mint quote with the mint. So, basically, requesting an invoice and then storing the secret, that is used to redeem that invoice with the mint, and then the casual wallet can actually go there and redeem the token themselves.
[00:12:31] ODELL:
Wait. So what is that domain? Npubx.cache?
[00:12:34] Egge:
Front end. So yeah. Nnpubx.cache. But if you if you for example, if you use cashew.me, it's already in there. You can scroll in the settings, you can scroll all the way down to experimental. You can enable it there. And, then you will have two lightning addresses for cache with me and npop.cache and an npopnpopx.cache. And the cool thing about n pop x dot cache I mean, it's really mostly cool things for people that run n pop dot cache because the the first version required the, the service provider basically to run their own lightning infrastructure as well because it would, like, mirror invoices and, like, proxy invoices and and, like, watch. So you're you're for standard mpub. Cash, you're running lightning Well, I'm I'm using Blink. That's pretty common knowledge. So Yeah. I'm using Blink. So, basically, when you pay a lightning invoice, if you pay a mpub.cash address, the invoice that you receive is not the Mints. It's Blink's invoice because I can use their API to see when it's paid. And then I go to the Mint and and get an invoice of the same amount and stuff like that. And it was, like, mostly complicated stuff that that, like, I've kinda it's, like, the the easy way, basically, of doing it because you didn't need to pull them in. Payment status is very easy. Blink does all that for you.
But it required you to have a Blink account if you wanted to self host and pop up cache. And I think self hosting and pop up cache is the thing where it gets really interesting because now a client or a, a cache wallet would not only give you the opportunity to have a default lightning address, but you could also pick the provider. So, basically, if you hosted your own instance, you could, like, give out lighting addresses running that service. And then in the wallet app, you could just, like It could be like npub at sysldispatch.com. For example. Right? Every and so npubx.cache is literally just, it's just a web server. So it has, like, a Docker file, and you can run the Docker file, and then it's there. It doesn't require any infrastructure. It requires a database connection. It's not written for s two lite yet, but, like, other than that, there's no lightning. There's no whatever. It runs on multiple mints as well, so that's a cool new feature. You can, like, choose your own mint as a user.
So, yeah, it's the way better version of it, but that cache. And I hope at some point, we were able to merge It's basically like m pub
[00:14:51] ODELL:
yeah. It's like m pub dot cache two point o. Exactly. But you're running it parallel so that you don't break the existing user flow Yeah. Because And because people have balances, and you're just kinda stuck a little bit. Right? Yeah. I mean, like, I I have migration plans.
[00:15:06] Egge:
The the API just looks very different. So I would kinda break people that implemented m pop dot cache if I would just merge them or, like, migrate. So, the idea is a slow deprecation. It's a lot of, like, communication with people as well to see if they upgrade it and when they upgrade, and then it's, well, we kind of front ran a little a little bit. Like, when I didn't really think about a lot of the stuff. I didn't think it would, like, pick up so much speed as well. So
[00:15:38] ODELL:
Well, I like I like that. That's, that's the way. I mean, right now, just for the freaks that are participating in the live chat, I have the primal mobile app open. And I'm looking at the chat there, and it's not exactly the same as what is the ZapStream chat, which is being shown on screen. So some comments are being shown and some are not. My guess is it has to do with relays and where the comments are being sent and which relays AppStream is pulling up. But I like figuring out things live. Like, I like experimenting, iterating, out in the open, trying to figure out how things work.
And I think that was one of the coolest parts about mpub.cash for me because it was just like, yeah. Is it perfect? Like, no. It's not perfect. Maybe one day, it'll be close to perfect, but it works. Like, it just works. It works today, and anyone can just easily just receive zaps. So one of the issues in terms of building in the open and iterating, one of the issues I noticed as a prolific n pub.cash user, that zapped a lot and received a lot of zaps by the way, people are like, oh, Dell, like, you're, like, swimming in the zaps. You get so many zaps. Blah blah blah. Like, the number one thing, I think, to receiving more zaps is sending more zaps.
And my net is I'm way down. I'm down bad, guys. Like, this is the most expensive free app experience I've ever had. I think my I checked the stats most recently. I'm, like, down, like, 5,000,000 sats or something. Like, it's $6,000 spent on Nasr. But as a receiver of many zaps and many low value zaps, when I try and redeem on mpub.cash, it's like I have to tell my wife. It's like, okay. You watch the kids. I'm gonna go into that room, and then I'm gonna scan, like, forever. I'm just like or copy and paste. Copy and paste is a lot quicker when you do it. So copy and paste forever because it comes in, like, smaller and smaller chunks.
Why does that happen? I know. But, like, explain to the freaks why this happens, and is there does mPubX solve this?
[00:17:50] Egge:
Yeah. Okay. So it it happens because whenever, so with the first version, whenever you receive a payment, the server will mint a cache token for you, and that has that denomination.
[00:18:04] ODELL:
And and when you So if I receive, like, 10 sats
[00:18:08] Egge:
and zaps, like, I'm getting a 10 sat Casio token out of the So you can think about it a little bit like like, dollar bills. Right? There's just, like with cash flow, there's, like, fixed denominations of stuff you can build. So if you receive 10 zaps 10 sats, that will be a out a eight sat bill and a two sat bill, mashed together in a token. And these, like, single denominations are what are being stored and then put that cash. So if you, after a week of, like, happy Zapathon, come back to input that cache and want to, like, redeem all your stuff, it's gonna be, like, a lot a lot a lot, like, eight or, like, 16 or whatever, like, sized, SAT denominations.
And that that's all data, and it doesn't fit in a QR code at some point. Or, like and we were like, I was worrying about, like, even, like, API response size and stuff. Like, if there's, like, a certain size that, like, exceeds, it's it's gonna be But, like, why can't we have
[00:19:03] ODELL:
I'm sure there's a technical limitation, but, like, why can't I just have, like, a set redeem all button?
[00:19:08] Egge:
Well, because it's like I I I would so you it it redeems, like, 200 of these, like, single builds at a time. That's what it does. Because Yeah. So I'm like a super edge case. Right? Yeah. You are. It's my situation. I mean, like, there's there's, like, there's a couple couple others in your boat that I I've I've heard this complaint before. Right? It's one of Like, Gigi. Gigi is probably in there too. So Maybe Cali. The second question, whether the second version fixes this, it no. It makes it better. So, with the second version, we we, I we changed from, minting tokens, so we're not, like, limited by the proof denomination to, like, what we call in cash or the mint quote, which is basically, the paid invoice or the proof of payment, basically, or, like, the yeah. So what happens before minting? And that's not, like, restricted by the denominations.
So if you have 21 sets, for example, it's not gonna be three things that you're redeeming. It's still gonna be a single one. Doesn't matter, like, what amount it is. It's all always gonna be a single one. But it's still a single one. And, that means if you have, like, a thousand zaps, there's still a thousand things you gotta deal with. There's gonna be a protocol that will fix to this because it's something in Casio that we thought about a lot if people want to, like, do a lot of what we call minting. And they always so, basically, you can always do one mint per HTTP request with a mint.
And we thought that's kinda limitation that it doesn't need to be there. Let's create something called batch mint. And once we have batch mint, n pop up cache or, like, n pop x dot cache is literally gonna change to, like, you doesn't matter how many stuff you how many sats, how many, like, different zaps you received, you're gonna click one button. It's gonna make one call, and it's all there. That's that's the goal. One call, and it's gonna make one token? So bay well yeah. It it yeah. It's gonna make one token.
[00:21:09] ODELL:
It doesn't matter. Just One big token. Like, if I receive, like, 10 if I receive 21 ten twenty one SaaS apps, it creates one token. Let's do 10. Well, the cool thing about mtop x I'm reminded of this. Thing about mtopx.cache,
[00:21:22] Egge:
it leaves this decision up to the client because the server doesn't actually, like, choose the donation. It just, like, stores the the min quote. So, the wallet that implements m.. Cash can actually choose the denomination. So if your goal is to have one massive token, you can get that. But if your wallet's, like, a little bit smart and maybe wants to optimize its local proof storage for better payment flows and other stuff. It can even, like, mint smallest things and choose denominations and optimize its own coin selection by that. So it's really, really, like, yeah, adjustable in that sense. It leaves the decision 100% up to the client.
Got it.
[00:22:05] ODELL:
Yeah. Okay. So there's a limit there's a the the limitation that you're putting right now in input.cash of 200 sorry. This is a little bit over my head, so I'm just trying my best live. The the limitation the cool by the way, Freaks. By the way, if you got to this point, you're, like, twenty two minutes in. You're like, what the fuck am I listening to? You can just go to mpub.cash. If you have a Noster extension, like, my favorite is no s two x, and you have your and you have your private key in that extension, you just press the wallet button, and your wallet will show up. And you will just be receiving Zaps in there. It's super easy. Then you press the redeem button, and you can you can pull the Sats out of the wallet. Super, super easy. That's the cool part.
We're just diving deep here, and that's why it sounds really complicated. But the cool part is if you're not technical, it's actually quite simple. It's quite simple to do. And and, also, in any Lightning Wallet, you can just put your n [email protected], and you can just send sets to that wallet. Super simply without any setup. But there's this, there's this 200 token limit when redeeming, and that's implemented, but that's not a Cashew protocol limit. That's a you you're putting that limit on
[00:23:25] Egge:
because QR codes would be way too large to scan with the QR code. Yeah. Also, just the amount of data that goes through the wire. And even if you, like, want to copy the string, the string wouldn't fit your clipboard. I was get that's where I was going with it. Is it would be too big for my It depends on your on your system. Right? I I, like, recently had that issue where I was trying to, like, send a cache token on on signal, and it fit my clipboard, but signal was like, this message is too long. I'm not gonna send it. Oh, okay. They're too big for signal. Yeah. So, Okay. And and for everyone listening, like, I I'm like, enter that enter that cash is obviously, like, the home page where you can learn a lot about the stuff. But I feel like the the usability of using it, for example, in cashew.me as, like, a casual well, because cashew like, cashew.me kinda feels like lightning wallet. Well, then you don't have to manually redeem. No. You don't need to do anything. You just open a cashew.me. You log in with your Nozzle extension, and you have a lightning address in there. And whenever you open the website, it will redeem the stuff automatically for you.
So that's, like, the best UX, there is right now, I think, for npop.cache. So you wanna just, like, dive in. But correct me if I'm wrong.
[00:24:39] ODELL:
I did that at one point. So, like, cashew.me works better if it just generates a fresh n pub and sec for you. Right? I use it with my personal one. For?
[00:24:49] Egge:
I use it with an author extension. Okay. Well,
[00:24:52] ODELL:
I, like, I lost a 100,000 sats at one point Okay. From, like, the redeem thing. I found it. I had to do rescan. It's, like, in settings and stuff. And I took a deep breath. I figured it was there somewhere, but there's a little like, I think the two interfaces get confused with each other sometimes. Because there's no way for n pub dot cache to know,
[00:25:21] Egge:
right, if something's been redeemed or not. Is that true? So, yeah, that's true. So, basically, what n pub.cache does as soon as you request the token once, it will mark that as redeemed, basically. On mpop.cash, there's Right. That's right. There's the history on mpop.cash, basically, that shows you all the withdrawals. So you can on mpop.cash, you can go back and, like, redisplay, resurface every every single withdrawal that you did. So, technically, there should never be something lost. But cache certainly doesn't do that. Yeah. It just wasn't shown in the UI. It wasn't lost for some That that's also one one big change of mtop x dot cache because mtop x dot cache will always it will, like, just keep giving you whatever you already redeemed. And then you can you can basically on the API, you can tell it, get only give me stuff that has been redeemed since this time, for example, and then we'll only give you the new stuff. But there's never anything deleted basically on end of x of cache.
[00:26:19] ODELL:
So Got it. Better state management. I guess I that's probably what I should do going forward is just use it with cashew.me.
[00:26:27] Egge:
And I encourage you to use the cashew dot Sorry. I encourage you to use the ntopex, even if it's marked experimental. We've been using it, for quite a while now, and it it is pretty stable. And The setting within cashew dot And if you receive, like, a lot and lot and lot of SAPS, it will still take some time, but at least it will be automatic. You don't have to, like, scan anything anymore. You just open the page, leave it open, and we'll redeem it. Because at some point, the mint rate limits you. Right? So you can only talk to the mint for, so many requests before he says, nah.
So it will just take a while, but we'll fix that. I promise.
[00:27:03] ODELL:
I love it. I love it. Cactus Jacks, zap 21,000 sats. He says live free, but it's not showing on the live chat on zap.stream because probably relays, like I said, but, we will figure it out, Freaks. Okay. That's awesome. Yeah. To the Freaks, you might be familiar with cashew.me because we've talked about it much at length. Cali is the maintainer of that, and it's super cool because it's a PWA. So no app store permissions. You don't have to you don't have to Cali doesn't have to, like, wait for the app stores to take updates or allow him in the store or whatnot. You literally just go to cashew.me in your browser, write down your seed phrase just in case you lose your phone or your browser gets wiped or whatever.
And then you have a fully functioning, lightning wallet powered by Cashew. And as as we just discussed, Cashew, at mpub.cash for a lightning address so you can receive on you can receive Zaps. Awesome. How how involved are you with the cacheu.me project? Are you
[00:28:12] Egge:
do you contribute to that often? Or No. I I built the npop.cache integration, a new one. I fixed a couple bugs, in the it's not it's not I'm I'm, like, I'm a heavy user, and I will, let people know when I find something. I'm not too involved. I'm more involved with the general, like, cache ecosystem, I would say. So I'm working pretty much full time on on cache and stuff now.
[00:28:38] ODELL:
What are you working on on the cache side?
[00:28:41] Egge:
So I am well, it's it's a it's a it's a community driven project, but I'm, like, one of the, core maintainers of Cash OTS, which is the TypeScript implementation client side implementation of Cash OTS, basically, that powers most of the Cash OTS apps that we see today. So cache. Me is powered by and and by by Cash OTS. T s. MiniVids is powered by Cash. T s. Pretty much most of the mobile wallets are powered by Cash. T s. So I do maintenance there and, try to keep that project up to date with the protocol, which which is, like, ever evolving. I try to do some protocol work as well, try to contribute wherever I can. And, recently, I started, reviving a, Cashew app that was, like, super loved by the community. It's called Inats. I don't know if you've, tried it before.
Yes. It's a pretty old one. It was one of the first major, like, nicely looking Cashew apps that were there. And at some point, the maintainer, like, moved on to different stuff and left the project. And Cashew had a major protocol change since then, so it's not really compatible. And the use was actively discouraged. And, now we decided to, like, revive it, basically. And so I've been working on for the last couple weeks. I'm trying to get it up to speed. But yeah. So I'm I'm building a lot of, like, tools, cache tools and and and tooling to for other developers to, make cache development easier.
And I then try to use it myself. So, for example, I'm working on CocoCacher now. CocoCacher is, like, the batteries include a TypeScript, you framework for cache. You don't need to do anything. It just does everything for you. You have, like, a very simple API, and you don't need to worry about how does the cache of seed phrase actually work, how does it, like, make sure restoration works, and keeping track of the, of the the derivation of the stuff like that? So, I built that Does all the hard stuff? All the hard stuff. It does, like, database management and everything. You just, like, let it know what kind of database you wanna use. You need, like, an an interface for it, and then it just goes. And I've been working on that only for, like, two and a half weeks now, so it's very, very early. It's in alpha alpha state right now. But I'm using it to drive the ENET's development, basically. Because ENET was so old that I needed to rewrite all the cache logic anyways. I was like, okay. If I need to rewrite all the cache logic, I will, like, abstract it out into a package for other people to use. So now there's And then you can just use Cocoa Cashew
[00:31:18] ODELL:
with the eNuts. Idea. So so you kill two birds at once suddenly. Yeah. ENuts is what I used before cashew.me existed. I mean, cashew I'd like honestly, I stopped really experimenting that much in the Cashew ecosystem because cashew.me is great and just, like, works everywhere.
[00:31:39] Egge:
And it's also very cutting edge. Which is, I guess, benefiting the curse. Yeah. That's pretty cool because you always yeah. There's some of because the updates too. Yeah. The updates too, there's, like, a lot of, like, a lot of new stuff. It's it's kinda like a testing round a little bit as well. There's the, he always puts these things as experimental, so you don't like, you actively have to opt in into, like, stuff that's a little bit more, like, bleeding edge, but you can do, and it's really cool for that.
And, like, cache is so so fast. Right? Just the pace is just insane, at which, like, new features getting added, and and, it's getting very, very interesting. Just recently, Bolt 12 was merged, so we're working on, like, getting getting Bolt 12, working with mints and wallets. And that's, like, obviously, like, opening up so super cool use cases as well.
[00:32:31] ODELL:
Yeah. I mean, on the opposite side, I think it's iOS only, but I really like Macadamia, because it's it's the opposite of, like, experimental power user. It's just, like, super clean, straightforward Yeah. Yeah. Macadamia is interface. Just send, receive. Does Macadamia use cache u t s? No. No. Macadamia is is swift.
[00:32:56] Egge:
All is, like, native stuff. There's no there's no dirty JavaScript running, and that's, like, the clean swift format. But it's an awesome project.
[00:33:07] ODELL:
I just I just opened Macadamia, and I didn't realize I had 900,000 tests in there. So I'm glad we had it's very much a couch cushion thing. So many wallets, testing on so many wallets. I, okay. I mean, I see a user question, from lawn tongue gear. Why don't you have a QR code on npub.cash/wallet for your address? Like, lightning
[00:33:39] Egge:
QR code, I assume. Something you would typically expect? Like, I I don't think I've ever seen lightning address QR. I mean, like, well, oh, yeah. Well, l n URL kinda has a yeah. It would make sense. But I think the the the the goal like, the reason why we use, lightning address in the first place, it is that it's, like, kinda human readable.
[00:34:00] ODELL:
So Well, it's not unless you I mean, if you pay for, like, odel at mpub. Cash, it is. But, like, it's not really if it's m pub dot one q n y ten a. Yeah. That's true. Whatever. I don't I don't have my I I think I kinda got my m pub right there, but I don't have my m Pub completely, to be honest. It it would it would make sense for mpub.cache
[00:34:22] Egge:
specifically because the it is not really human readable anymore. Yeah. That's true. Yeah. I I should I should we should have that. But I think with, like, MPub x dot cache, the idea is generally to drive people more towards using it inside something,
[00:34:35] ODELL:
like an app. Right. You're using e nuts or macadamia or cacheyou.me and and pub.cache. The interface is kind of just, like, to go there to redeem real quick. Yeah. It it it kinda it kinda was,
[00:34:48] Egge:
also due to the fact that it grew so quickly. Like, the front end was never supposed to be actually used. It was more of a, hey. I wanna demo this. You wanna, like, try it out real quick? At some point, like, this is gonna move into apps. Like, but here's the bare bones version. Like and then people just, like, started using
[00:35:06] ODELL:
And then so you you learned your lesson, and that's why MPubX
[00:35:10] Egge:
doesn't have a Yeah. I mean, like, with so so the reason why I didn't want it is because it just works way better with all the state stuff. Right? Losing sats. I don't want people to lose sats, obviously. Right? It just works way better if it's, like, in an environment that is an actual cash wallet or has sophisticated wallet capabilities, basically. And so that that's why I said, okay. And x dot cash is not gonna have a front end. But now with Coco, like, I'm pretty much, like, putting cash wallets anywhere. So maybe it will maybe there will be a front end at some point. I'm I'm not promising, but I think it actually is like, the the goal of Cocoa, if it turns out how I expect it to turn out, it's basically every web developer will be able to put cash wallets everywhere without having to worry about anything.
[00:35:56] ODELL:
I mean, that's the dream. Right?
[00:35:58] Egge:
And that's where it's super powerful at. So I mean,
[00:36:02] ODELL:
so, I mean, my vision is and tell me if I'm absolutely crazy, but, with Vibe coding, it's like well, you have Nasr login and Nasr comms, like, Nasr identity and Nasr comms, and then you have Cashew. And then you can pretty much do payments, social, comms, and, like, any Vibe coded app you want with very little overhead. Is that's the dream. Right?
[00:36:34] Egge:
Just like it could literally I think it comes back to the the thing that I said in the beginning with, like, public infrastructure because Nasr and Casu both offer these, like, pub public infrastructure stuff that you can just use that are free to use the mins and the relays. You can build any website that, like, does payments now, and it just uses the mints infrastructure to do the lightning stuff. Right? Actually, that was Right. You don't need a Stripe API. You don't need a Twitter API. You can just optimize Exactly. And and that was actually I did a workshop in in Riga at the b t c plus plus about this, recently. I, like, within and even without vibes. Right? Like, half an hour, you just spin up a website, and, you have a tip button there. And it shows you a lightning your like, your lightning invoice, and you pay the invoice, and then then it sends the SaaS open also. So it does that, obviously, by getting an invoice from a public cashument, throwing the invoice to the user. And as soon as it's paid, it's gonna, like, create a cash token and send that as a DM to you to your.
And just works. Like, you don't need anything, and now suddenly you'll be able to, like, receive tips anyway without actually having your own stuff. That's awesome.
[00:37:44] ODELL:
What is your opinion on I don't know. There's too many nips, but the the the one that Pablo's pushing that has the the tokens are in Nostr. The tokens are in the relay. Do you know what I'm talking about? Yeah. Nutsack. What's your opinion on that? And, like, where do we stand on that? Because I feel like people are very excited about it. I haven't really seen it work well in practice yet.
[00:38:11] Egge:
I think, like, the the idea is very, very cool, because it removes the last thing that might be difficult, from a infrastructure standpoint, which is the database you need, like, to store your because it's a better asset. You need to store it somewhere. And as you said, you wipe your browser Right. Because you're, like, like, concerned about your privacy. For example, you wipe your browser storage. Oops. All all the sats are gone. Yeah. So, it it solves that issue. But is, has an issue. Basically, it's, like, naturally with state. Right? It's just, like, different it's, like, difficult. It is There is no state. Like, there's no sort of source of truth. There's no single truth state, and that makes makes it using makes using it as a, like, money database a little bit difficult.
Because if you go on Auster and, like, some of your, like, notes are gone, that sucks. Right? But, like, if you go No interest. But if you go on Oster and, like, 50 of your wallet is gone because the relay where you stored that part is now not online or something, that's more of an issue. I mean, obviously, there's ways around that with, like, using backups and having better propagation and optimizing your relays. And there's so much stuff happening right now with, like, local relays and amethyst talking to 400 relays at the same time now. And so there's there's a lot of stuff that might make this better.
But I think that is that is a little problem problematic about the nutsack idea, but it it would be solvable. I just don't see, the huge, issue of, like, carrying a database, around with you, basically. But for syncing, it's cool. I I'm a little, like, fifty fifty on it.
[00:40:00] ODELL:
You go back and forth on it. I can tell. Well, I mean, I think the dream is I think the reason that makes it cool isn't necessarily storing a database. Right? It's just if you could do it in a way that was UX forward, you'd have way better UX for new users because they literally would just need their NSAC. All they would need is their NSAC, and the money would be the money and everything else would just be handled by the Relay network. Yeah. So you can imagine a situation where they start up, like, no KYC, receives zaps immediately.
Maybe, you know, if they're, like, a very basic user, the average user, like, the NSAC is just stored in their iOS key chain. You know? Like, they're not even, like, backing up the NSAC. Like, Apple's handling that for them, and they just have, like, the full experience in a relatively sovereign way. Yeah. I think that is, like, the holy grail Valhalla. We've done it.
[00:41:01] Egge:
Yeah. And I mean, like, also, like like, doing a live stream from your from your computer, for example, on ZapStream, getting zapped there, and then, like, going on a different device, logging into, like, plugin market or something and spending the sat the same sats there to, like, buy something. That's also, like, pretty With no effort. With no effort. Right? Just, like, logging in. And so I I definitely see the use cases. And that that would be that would be super complicated.
[00:41:27] ODELL:
Limitations. It's still very early.
[00:41:30] Egge:
And there's there's other ways of, like, solving the sync issue, basically, but it's not like so for example, there's this project, I think AGI Cash. They're, like, very early in alpha right now, I think. They do, like, server side cash wallets, basically. And they do that, like, using very securely using, using an enclave, basically, so they don't they cannot rug you and other stuff. So it's, like, very, very sophisticated but pretty cool. And they do it, like, server side. So, like, whenever you log in through a different device, you still have all your balance there even though it is a better asset. But now it's not on your device. It's on their server, but in a secure way. But it like, the Nasr identity stuff is like the cherry on top with the Nutsex thing that that just makes it super cool if you can carry around your wallet with your identity.
If we can solve the issue with the sync interstate, I think that would be super, super awesome.
[00:42:28] ODELL:
Yeah. That makes sense to me. I see far as zapped 21,000 sats. Now that Primal added streaming, I'll actually watch you live. Thanks for all the knowledge over the years. Cheers. I, no. I'm pretty I'm pretty pumped about Nostra Streaming. I think it's gonna be fucking huge. I, okay. Next question for you. Is next question for me for you is I, one of my biggest concern so I'm in I'm a huge cash bull. Like, I I think it's one of the most exciting tangential aspects of Bitcoin that has happened in the last decade. Like, to me, like, I look and it's like it's like, okay. You know, I'm not the oldest person in the world, but, like, where have I seen, like, organic viral developer communities?
And it's basically like Bitcoin, Nostril, Cashew. And Cashew is actually super fascinating because, Fetti with Fettiman was kinda getting pushed first, the Fettiman open source project. And then there was, like, a super well funded VC business out of Fetti that was building on top of the Fettiman project. And then at the same time, like, Cali and various Cashew devs, I came out of nowhere and went, like, hold my beer. And you actually see the the dichotomy of the two projects. Right? Like, there there's similarities between them, in that they both use Charmin eCash and Bitcoin.
But then when you look at, like, the actual developer community and and iteration and improvement that's being made, like, Cash used on, like, a whole different level. But, anyway, this is a really long winded way of asking this question. In both situations, when I think about long term adoption, I think one of the biggest limiters is, like, a thriving, competing Mint marketplace. Like, who will build the roads? Who will run the mints? And so then when I think of that, generally speaking, my belief is that we need to make it easier to run Mints and run them in a privacy forward way. You know, not for instance, like, run if you were, like, running it out of your home, you're, like, doxing your IP address to everyone. Maybe you live in a place where that would not make governments happy or something like that.
So just high level speaking, like, I think the easier it is to run a secure mint, the better. So that we'll have thousands of different mints that people can choose from rather than five or six that are holding the majority of as of of Bitcoin. Me and Cali like, I've had long conversations with Cali about this. So I'm kinda curious on your opinion on on that. On who will run them in? So, like, whether we should make them more secure? Like, what is it what's the question exactly? No. No. No. No. So Cali okay. So I'll just I'll spoon feed it because I it actually is kinda confusing my question. Cali is concerned about making it too easy to run mints because and I think he's right on this front, is that, like, you do want someone who's running the mint to be relatively technical so that if something happens, they can troubleshoot it instead of like, okay. So I'll use Fedimint as another example.
There were two large public Fedimint that existed about six months ago, seven months ago, that basically rugged themselves. Like, the users lost money, but also the Fedimint operators lost money because they they had critical errors, and they just couldn't they just couldn't solve those errors. Right? And so they ended up in a situation where people lost money, but it wasn't like a, like, a traditional exit scam where, like, the operator stole the money. Like, actually, the operators lost more money than most of the users. And so that's Cali's concern in a nutshell. Like, I'd I I don't wanna, like, speak for him too much.
But his concern is that if we make it if we make it so so, like, my dream is that I got my start nine here, and I have a community of a 100 people in my town. And I just wanna run a mint on my start nine, press go. They just scan an onion invoice onion address or something, or maybe it's a Noster native thing, and then they just connect to my mint. And then I'm their community, Mint operator. But I think Cali thinks we're very far off from that vision. What are your thoughts?
[00:47:26] Egge:
I I don't I don't so I think it is very important to differentiate between me running a mint for, like, thousands of people, like, in the whole world and me running a mint for, like, my local community. Right. I think there's, like, far greater risks for the first case, obviously, in the like, you should know exactly what you're doing. You need to know how this stuff works and how to replicate your database and stuff like that. I think for the local, for the local community, it's a little bit easier depending on it it always depends on your trust level with the people that use it. Right? I think, so maybe I'm too optimistic, but if you're like if you're like your uncle Jim for, like, your friends and and your local community and everyone kinda knows and trusts each other and you can, like, keep things a little bit, like, off protocol, you could probably always recover from a disaster. Right?
Because you still have your lightning node, for example. And, like, I mean, like, obviously, there can be, like, cases where with, like, FETI where, like, SATs are, like, real because there's an unforeseen buck or issue and you don't you actually lose Sats. But then, like, the the thing that is probably all of the Well, FETI is one.
[00:48:36] ODELL:
Yeah. Go on. Sorry. Continue. I apologize.
[00:48:39] Egge:
I I just wanted to say, like, from my point of view right now, probably the biggest risk for a mint operator is losing its database
[00:48:45] ODELL:
because then, basically, you don't know who owns the market. Stats are whose. Yeah. Cannot. So So it's a different it's a different so I used Fedimint as an example, but Fedimint's different because Fedimint is actually based on on chain Bitcoin. Yeah. While in Casio, it's a single sig lightning wallet. So, like, as long as you know how to operate You're not lightning wallet and not lose your money a lightning node and not lose your money, you probably won't lose the money as the operator. But you do have the issue of, you know, how much how much SaaS do does Paul have versus Chris or something.
[00:49:20] Egge:
Yeah. Yeah. But yeah. So so I'm I'm like I I think we could get to that point, quicker, than very far off, like you just said. It it definitely is reckless. And the question is, like, who wants to take the risk? Right? I think lightning was I I don't know if lightning is still considered reckless, like, officially, but lightning was reckless for a very long time. And people used it and it worked. And sometimes people lost hats, and that's I lost so much Bitcoin in early days of lightning. But but I think the the benefits still, like, outweighed the risk for lightning, and I think it could do that for cash as well. So, yeah, I think it's good to be careful.
Right? And I don't think it's it's wise to, like, just put the technology out and be like, yeah. Go play with it. It's like I think is actually right, like, in educating about the risk and be like, hey. Be very careful with this. And it's, like, very early, and we still don't have all the edge cases and stuff. But I've seen within put up cash that people actually don't care. Like, put up cash still still has the big warning banner at the top. Like like, this is super reckless. Be very careful, and people just use it. Right? People want to be fired out. Warning barrier.
[00:50:46] ODELL:
Warning. This is a work in progress. Don't be reckless. No warranties are made with two huge triangle exclamation point yellow warning signs.
[00:50:56] Egge:
Yeah. Wanted to make sure everyone knows what's up, and don't lose their stats. But yeah. So I think the warning also applies for, like, the cutting edge Bitcoin technology. Doesn't matter whether it's, like, cash or something else. But I see people still want to use it. And I think as long as people know the risk, they're, like, they are free to do whatever they want. Right? Yeah. I think it's better if we, like, try to build software that is, like, somewhat safe, than building software that's, like, super dangerous to use, and you need to be very, like have a lot of expertise to use it to kinda gated from beginners because beginners will still try, and they will even they will fail even harder.
[00:51:37] ODELL:
Yeah. Beginners are, like, they fuck up in ways that you could never even expect.
[00:51:44] Egge:
Yeah. So I think with, like, CDK, for example, I think CDK is something that will be very, very easy to use and Dockerize and just put out there and, like, just have, like, a working thing. I can I can very much envision this being a like, available on a number or, like, star nine or something? And everything is open source. Right? So if you've if anyone feel like putting it on Umbrel, I guess you could just do that. Right? Well, there's someone we're funding
[00:52:15] ODELL:
at OpenSats that is doing that. And Cali gave me his blessing. So, when we were doing the review process I mean, I'm not our review committee was in you know? They're the ones who did the review, but we do ask subject matter experts for their opinions and references. And he's, like, building I don't remember we're funding, like, 200 plus developers. I don't remember the name of the project, but he's building, like, a command and control UI center. You know? It's like you just run it on your start nine. Like, you pull up the interface. Like, shows you the mounts. It shows you your lightning node. It shows Oh, that's Orchard, probably. What's the project called?
[00:53:02] Egge:
Orchard.
[00:53:04] ODELL:
Orchard?
[00:53:06] Egge:
Oh, like the like an like, like, trees. Orchard, o r c h a d.
[00:53:13] ODELL:
Oh, orchard. Is that it? Yeah. Yeah. Like, the trees. Yeah. That's what it is. Orchard. Yeah. What do you think of that project?
[00:53:20] Egge:
That's super amazing. That's super cool. That's exactly what we need. Yeah. Yeah. So that that like, if you combine that with, like, a dockerized mint and, like, LDK so for example, like, CDK, I've seen that happen. Right? It runs on SQLite. It supports LDK as a back end. It just it's, like, it's ready to go. You don't need to do anything. You just run the Docker. And, like, LDK is in there and and and SQLite is in there, and it just works. And it's just, like, everything you need. So if we can make that foolproof, I mean, like, I think I think making it foolproof is the thing that Carlos is probably referring to when he says that it's gonna be a while. And I totally agree with that. Like, making it foolproof will be very, very hard. But a lot of people are no fools. Right? We can make it way more accessible. And I think that would be a great future if, like, people could run people did that with l and bids. Right? People will Right. Uncle Jimming l and bids for their communities.
I think cash is more more more suited for this.
[00:54:21] ODELL:
Yeah. I mean, I think I think that was probably a bad idea, but, I I I think I think the solution is and we like, I visited this circular economy community in Brazil that was using Ellen Beds. And I was like, you gotta switch to Cashew. Like, I think I mean, like but, also, I didn't have, like, a good recommendation from at the time because we just weren't really there yet. But, and I do wanna say, personally, I question using the term uncle Jim for anything that resembles custodianship. Like, originally, it was I mean, whatever. Memes are designed to live past their origin story. But when I originally started using the term uncle Jim, which is just, like, going through wildfire and, by the way, I do not have an uncle named Jim because I didn't wanna dox my real uncle, so I just used the first name that came to mind. It's kinda crazy that people just say uncle Jim now. It was supposed to be, like, an Electrum server or something. Like, I I still kinda question I go back and forth on, like, whether I want to be holding my nephew's SATs, or, like, be involved in that financial arrangement.
But if you're going to, like, I think Casio is probably the best way to do it. It's just like, you wanna talk about stakes are high. Like, yeah, if you're running a huge mint that has 20,000 users globally or something, which I don't think any Mint has 20,000 users, but, you know, let's just say in success. Like, you you probably feel a heavy responsibility. But even if you're running a Mint for a 100 users in your local community, it's like you're seeing them around. Like, they're at the market and shit. They're, like, over your house. Like, you better not lose their money. Like, that's in some ways, that's a even bigger responsibility, because you're kinda, like, shitting where you eat. You know? Like, you're like that's like a real real relationship. So in person's like the I don't know. I go back and forth on it. I love Cashew. I think it's a very exciting project. I see, million zapped 42,000 sats. He says we're gonna make it.
I love the bullishness. I saw Cerebrum says he lost 30 k sats while melting eCash, paying a lightning invoice with OX chat. Super fat arrow wants a thousand mints to bloom. On the Mint Discovery stuff, let's talk about that.
[00:57:00] Egge:
Mhmm.
[00:57:01] ODELL:
I don't know why my mic who builds a microphone with a touch mute button where people fidget and move the microphone? It's just whoever works at Shure that came up with that idea, like, you should be fired. It was a horrible idea. Anyway, Mint discovery is the single biggest issue. I recommend someone cashyou.me go to cashyou.me. What is their first well, their first question is that they can't immediately receive SaaS because there's a big admin button. And then their second question is, which Mint do I choose? And Cali hates this question, but it's the biggest issue.
So how do you think about it from an end user perspective? What solutions do we have? Mitigations, maybe no solutions.
[00:57:53] Egge:
How do you think about it? That's yeah. So I I I mentioned before that I I love to build, like, tooling for the cache developers. One of that, is, Casu k y m, Casu No You Mint. No You Mint is a term coined by Eric, a, great UX designer that is working in the cashew space.
[00:58:16] ODELL:
I love Eric. Eric's good people.
[00:58:18] Egge:
Eric is good people. Yeah. So so he was in in Riga, he was talking about the concept of no you meant. Basically, discovering mints, seeing who's using that mint or who would recommend that mint, and also getting some stats about the mint. And we actually already have tools for that. Right? There's a, that I don't know the number out of my head, but there's a noster. I think it's 87. But, yeah, not not too sure, that that's people recommend cashew and fettimints on, noster. So you can use your web of trust basically to see which mints would your friends or friends of friends recommend. So that's pretty cool. So you can go to bitcoinmints.com.
[00:58:57] ODELL:
NIP 87.
[00:58:59] Egge:
NIP 87. Yeah. Awesome. Yeah. So you can you can go to bitcoinmints.com, for example, and we'll just aggregate events and show you different recommendations and ratings. That's pretty cool. And then there is the the mint auditor, that is not, that is not, like, for recommendations, but rather for, like, testing mints. So it's like you can, peep it it relies on donations so people can just, like, put some money in, and then the auditor will, like, ping it around from mint to mint and mint and all those calls. Auditor. That's super cool. It will record It's like a bank run through rate.
Yeah. It's yeah. Yeah. Exactly. Right? It's it first of all, it checks whether the lighting implementation is actually real, so whether the money can actually go out again. But, also, it records, like, the success rates and all the speeds and everything and then gives you this thing as, like, data back via an API. So, with cache and k o m, I I, combined the two, basically. So you run a single command, basically. It's a JavaScript library. You run a single, API, And then it will aggregate all the events from Nasr with the recommendations and will look for, like, Mint Auditor data. And then it will, like, put them all together and give you a list of Mints. Will they say, like, this Mint was recommended by, like, 10 people, but its speed index compared to others is only, like, 60 out of a 100, and its success rate is only, like, 81%.
So you can, like, have all this information at one single in in one single, UI element, basically. So the idea is, like, if you go to cache.me in the future, you will not see that big admin button, but instead, it will be like, hey. Here's a list of, like, twenty minutes I found on Oster, and here's some, like, neutral data about it so you can make your own informed decision about this. Users might still not know what a mint is and what exactly what it does, but they will see, well, this is five stars and pretty quick. So hey. Or, like, use web of trust, obviously, to, like, mitigate civil attacks or something.
[01:00:58] ODELL:
Yeah. I mean, I think the auditor is cool. So the auditor is, what, audit dot eight three three dot spade. But, also, like I mean, I feel like that just kinda points out, like, who are the really bad offenders. Like, it kinda doesn't help you with, like, I don't know. Someone could be a good Mint operator and then not be. Like, there's always that situation. Or they could be, like, our particularly savvy malicious Mint operator
[01:01:34] Egge:
Yeah.
[01:01:34] ODELL:
And get around it. It's just like these are, like, the really poorly run do avoid just avoid these at all costs. Like, it really spots those really easily. So it does solve a piece. I think the web of trust stuff is super interesting. Like, I've, you know, reviewed Mints and but then also, like, then they're kinda just like they're like, oh, like, Odell's emojis. Odell's profile pictures. They're like, he he's endorsed this. You know? So, like, kinda Yes. And then and then you're you're also you know, you're you're these are tools that are still, like, useful for, like, medium to power users, right, who are, like, making an educated decision and kinda know what they're doing. I I feel like we're still missing the piece of, you know, average Joe who is trying to get into Bitcoin, and I recommend him a Cashew wallet.
Like, my recommendation kinda has to come with a mint, and maybe that's okay. But I have to, like, guide him into and use this mint. Yeah. But I do wonder, like, if there's a a and I I respect that Casio devs in general are, like, really sensitive to this topic. They don't wanna, like, make decisions for the user. But I still think in my head, a Cashew wallet that automatically has, like, an easy mode that defaults to a certain number of mints and maybe splits them up, like, splits the balances up. Like, there's a middle ground there that just makes the onboarding flow and UX much easier.
[01:03:22] Egge:
Yeah. What are your thoughts on that? Yeah. I I see that point. I mean, like, it it is it is kinda similar to to to the NASA stuff, right, with the relays and, like, do you really want a bit? It's like it's a little bit worse, I think, because, like, you're actually, like, choosing a custodian, not just, like, your network to relay your your, like shitposts. Right? You're actually, like, having value there. So I think it's I I actually support the the, like, decision of most cache devs to not, like, put that like, make that decision for the user.
But I agree that we need to find a better solution for the onboarding flow. Just like a big list of recommended I mean, like, I I see the issue with, like, the recommendations not being enough for entry level user, but I always, like, compare it to, like, restaurant reviews or, like, Amazon reviews or something. Right? When I order something that I have no idea about or if I want like, in a city that I don't know, I'm looking on, like, maps for, like, restaurant recommendations, for example. I will, like, see a list of, like, a lot of, like, places, and then I will go by star rating, like, like Right. 4.8 sounds good. Right? Let's just do it.
So I think and and, like, I I understand that it would be good or, like, it would be better for the user to fully understand what they are, like, doing. But I think just from a UX perspective, like, giving the user a list of, like, mints and then putting star ratings next to them and just letting them choose one
[01:04:58] ODELL:
also kinda works. Right? And But you kinda I mean, I don't wanna put you on the spot. I mean, I agree with you for the most part, but, like, you kinda did that with mpub.cash. Right? Like, which if which meant does it default to on mpub.cache? Is it many bits? Yes. And that's part of the reason why mpub dot cache is awesome
[01:05:18] Egge:
is because It needs to it needs to in order to work. Right? Right. Because, otherwise, you would because the whole value proposition was like, this just runs out the box. No sign up needed. Yeah. If you would need to choose them in first while there is your sign up, right, you you need to, like, do some stuff and then so with m.x.cache, at least you can change it. Right? With n pop.cash, you we're we're, like, we're, like
[01:05:40] ODELL:
it still defaults. Right? I like that. I support that. It in deliberate and responsible way. Like, you still I mean, there's there's kind of a corollary here with on chain Bitcoin, but it's different because it's it's a different, trade off, that drug model or whatever. But, like, one of the coolest things I think Sparrow did was it kinda solved the spooks running Electrum servers problem in the most simple, elegant way possible, which was he picked five Electrum servers that he didn't think were being run by spooks, and it just defaults to those five servers. Like, everyone was trying to come up with, like, super complicated ways of, like, how do you make sure that you're not connecting to an Electrum server that's trying to track you or feed you bad information or whatever. And he just, like, literally created a white list. It's like, you can choose any electrum server you want, but by default, it's gonna connect to blockstreammempool.
Space, you know, like, highly trusted, reputable, things, reputable servers for the new user that has no idea maybe who who Blockstream is or mempool or whatever.
[01:06:54] Egge:
It's just I think it's still dynamic. Yeah. I I I I think, like, there's still there's still a big difference, though, when you compare, like, this to Cashflow, for example. Right? Because what we try to avoid as well is, like I mean, like, I I think everyone that has used Cashflow for a while knows that, like, Mini Bits is absolutely amazing. It's a great mint. Right. Right? But, like, we also want to we want we we're trying to avoid, like, massive honeypots. Right? Right. You don't want everyone to use minibits. That would be great. Right? Please not everyone. You, like, use different mints as well. Like, spread spread out the risk and do do stuff like that with, like, amazing stuff, like multi path payments coming to like, in, being in cash right now, you like, spreading across different means is actually even better. That's what I'm saying. You could do that.
[01:07:42] ODELL:
But that's what my suggestion isn't my suggestion isn't that everyone defaults to mini bits or, like, three or whatever. But, like, you could by default, you could do, I don't know, like, six or eight highly reputable mints and then split funds between them and then do multipath payments from them. And then users can custom or at least, like, an easy mode or something. It's just when I talk to end users, like, that's the friction point. The friction point is, like and it's right in the beginning. It just slaps them into in the face. Is the admin button and then choosing which mint. And best case scenario, it's like they're almost always just blindly following what I tell them to hit. It's like, okay. Press the admin button and press mini bits,
[01:08:27] Egge:
and then they're off to the races. Like, that's that's the flow that's actually happening in practice. Yeah. Yeah. But I think it's it's it's in Bitcoin, it's with a lot of things. Right? Like seed phrases, for example. Like Yeah. I hate it that when I just want to try out something really quick, like, when you bought it, whatever. Like, I wanna try it out, and I see, okay, seed phrase. I'm not gonna use that wallet anyways. Right? Like, okay. Next. I've written it down. Blah blah blah. And then then it does the check. It's like Yeah. And it, like, blocks screenshots and it, like, blocks copy paste. And I'm like, oh, I just wanna try this out, and I actually have to get, like, pen and paper, write everything down to the check. But, of course, this is great because if you don't do it, people will use that wallet with real funds, not just for testing, and they will use lose it because they did not write it down or they said they would do it later in the world. I mean, a lot of the good mobile wallets now delay that process. They don't do it right in the beginning.
[01:09:23] ODELL:
And I think that was probably a good UX win. Right? It's like, I mean, like, you, like, you wait, and then you, like, notify the user, like, an hour after using it, or maybe there's a balance threshold or something. And then at that point Yeah. You know, you pop up and you're like, okay. You gotta write your seat down. You gotta verify it. You gotta do this. Are you sure you're happy with your mince instead of just front loading it all right, like, right in the beginning?
[01:09:52] Egge:
Well, that's actually a good idea. Like, capping it at a certain certain value and be like, dude, now get off all the bits. Yeah. Learn this stuff. Yeah. Yeah. That's cool.
[01:10:04] ODELL:
Yeah. Okay. I saw a question from someone in the chat. Let's see. Where is he? I don't know. I can't find him now. But, he said that he's he wants to become a Cashew dev. New new developers that wanna contribute to Cashew, what's your recommendation to them?
[01:10:32] Egge:
Yeah. That that's that's awesome. I think one of the great things or, like, one of the best things about Cashew is that it's, like, rock brain stuff. Right? It's, like, super, super easy to get into, and and there's, like, so much stuff to to do. So, basically, what what basically, I think the best I the best thing to get into is, like, first of all, you decide what you want to write, like, what languages to stuff that like, what is what is it you you currently good at, and then you just look for whether there is a project that is in the language that you prefer. Because with cache, the great thing is it's such a vast ecosystem.
There's probably already something being built in whatever you prefer. So, you don't actually have to learn everything from from from new or find something that that, like, learn a new language or something, but rather there is probably already a project that you can just contribute to. So, a great place to start is the, cache b two c githuborg because a lot of projects are actually on there. So you can look there. There's cache.space, which is the protocol's homepage, and it has a lot of links to, like, different projects and libraries for different languages and other stuff. So those are the two things, that you could, like, look for resource wise.
There's a Telegram chat as well as a Matrix chat. Links to those are also in cache. Space. You can get involved in conversation directly with other developers. And then once a month, there's a big, Cashew monthly dev call that covers all the protocol development and all the other stuff that happened in the ecosystem since the last call and also, like, has room for demos. So at the end, we always do, like, a lot of demos from everyone in the space, basically, showing off what they built with Cashew. So I think these are the main entry points, basically, to get into cash development.
[01:12:23] ODELL:
Awesome. Contribute, freaks.
[01:12:26] Egge:
Yes. K. Yeah.
[01:12:28] ODELL:
I see SoapMiner zapped 21,000 with a question. Are you familiar with SoapMiner? Yes. I am.
[01:12:36] Egge:
That's so Have you used this soap? Have you tried this soap? I no. I I I I saw that that he was, he he, posted about, sending worldwide now if he likes, like, hitting up on Milestone. I was thinking about doing that because I'm not US based.
[01:12:50] ODELL:
He's gonna regret doing that. Sending international is a pain in the ass. Maybe we won't regret doing it. Anyways, great soap. You should consider it. But he's asking, and I don't know so, Minor, if you're still here, it'd be great if you can, add to your question. But he's talking about implementing accepting Cashew on a WooCommerce site. I mean, my the cool part about Cashew is that you could just accept Lightning, and then someone's using a Cashew wallet, they can just pay you. So I don't really know what that question means, But maybe wants to receive to a Cashew wallet.
[01:13:34] Egge:
Yeah. So, I mean, like, there's there's Cashew payment requests. Right? So, you can you can actually, like, use use full on Cashew tokens to directly pay.
[01:13:45] ODELL:
Because If you're offline, I can see.
[01:13:48] Egge:
Yeah. That that was yeah. Being being offline would be one. There is the whole, API stuff that that, you maybe have seen the Casio four zero two basically using it as authentication rather than that, for example, with with Casio. So there's definitely, like, benefits of paying with Casio, but I agree in, like, an ecommerce style thing, especially because you want to have a lot of users being able to pay you
[01:14:16] ODELL:
using a lot of them. Friction. Right? You don't wanna give them a bunch of different options. You wanna just here's your lightning invoice. Here's your on chain invoice. That's it.
[01:14:26] Egge:
Yeah. During the during the hackathon in in Riga, I built a POS, system, on Cashew, called PeanutPal. And, actually, I used all Lightning in there as well. Like, it was all based on Cashew, but, like, all the invoices are visible, and so only lightning.
[01:14:44] ODELL:
You don't have to apologize, SoapMiner. You make the best soap in the business. I just wanna answer your question properly. That's why I said it. SoapMiner said he doesn't understand, Matt. My bad. Still learning. Also, you zapped 21,000 sats. So, like, there's literally no dumb question if you zap that much.
[01:15:02] Egge:
To to get to the question,
[01:15:04] ODELL:
there's But what about the point of sale thing? Let's talk about oh, yeah. Continue. Anyway, go.
[01:15:09] Egge:
Sorry. I just wanted to say that there's actually, like, a b two c pay, plug in for CashNet. So, you can How does that work? You can so, basically, it first of all, it offers the thing that we just talked about that doesn't make too much sense, like, off like, actually paying with the cache token. But the idea and I'm not sure if it's in yet, but I know that that that is one of the things that it should do at some point is you should be able to, like, host a BTC pay server and use cache as your lightning back end. I think and that I think that's, like, the biggest be awesome.
Yeah. I think that would because then you're not running a Lightning node or anything. You're just You just need the server. You just need the b two c pay server, and Lightning is done by the Mint. I think that's that's definitely the biggest thing to like, biggest, like, goal to get here.
[01:15:57] ODELL:
And I think This is actually really easy. It's really easy to run BDC pay with on chain only because on chain wallets are super easy to work with. They don't have to be interactive. You can just, like you can literally get it directly to a hardware wallet if you want to. It's, like, spits out a fucking seed, or you put your, like, XPub in super easy. Yeah. But receiving lightning on BTC payserver, especially for random Joe that's selling salami at the farmer's market, is such a pain in the ass.
[01:16:27] Egge:
Yeah. I think Cashier would be such a great fix for this. Just like connect to a mint, and whenever it needs an invoice, it just ask the mint point. Basically, exactly what m p dot dot cash does. Right. And then you would, like, get it get an invoice from the mint, forward it to the user, and then check whether it was paid. And once it's paid, mint to cache it to your own database, and that's it. But instead of Lightning address, like, bolt 11, like, just a standard Lightning QR code
[01:16:54] ODELL:
invoice. Exactly. Yeah. Yeah. That'd be awesome. I saw b g c pay did do something with liquid kind of in that regard where it's like every lightning payment's a bolt's, swap, and then you receive it via liquid, which is also kind of compelling. I I mean, I think Casio would be even better in that situation because you wouldn't be using bolts or but also wouldn't have to deal with them having liquid BTC, and you would have to then switch back on chain. But all these different things, I mean, are I think are value additive. But the point of sale first of all, PeanutPal, you guys have the best names.
All the nuts stuff. Yeah. What did is PeanutPal, like, more than just an it was just like a hackathon MVP, or is that actually, like, a working project?
[01:17:45] Egge:
No. It's it's so it's definitely not ready for production. Okay. So and it would be way more, polished if it weren't for the so, basically, BDC plus plus hackathon was two hours. It was what like, hackathon two hours. Yeah. So, but, actually, it's it kinda works. I don't encourage anyone to use this. But because I needed the demo to work on, like, different devices because it has, like, remote point of sale, capabilities. Right? So you can have the point of sale main device on your desktop, for example, and then you open it on a on a mobile phone and connect it, and it will connect the Anasta, basically, and then you have, like, a a remote device that can create invoices in the name of the main device. And I because I needed to demo that on the on the, for the hackathon. It's actually live. You can go to peanutpal.com, and you can actually play around with it. But it and don't again, like, I don't encourage you to, like, put any real money on it, because it will break, at some point, 100%.
But it's a cool MVP that showcases what awesome stuff can be built with Cashew. And I think, first of all, the I mean, I mean, like, the point of sale use case is is something that Casu really shines in, I think. But, also, I think next to the to showcasing that, it also showcase how much amazing stuff can be done with Casu within, like, such a short time frame. I mean, like, obviously, I've worked with this protocol for two years now. I'm probably, like, well well well versed when it comes to Cashew, but it's not that difficult. Right? There's, like Did you use MKStack
[01:19:20] ODELL:
did you use MKStack to vibe this?
[01:19:24] Egge:
No. I used, it's pretty much everything is flawed. I didn't touch any UI code for this, by the way. That's why it looks generic.
[01:19:33] ODELL:
It's a super generic Vibe app. And I love that the first thing by the way, per our previous conversation, the first thing it asked me to do is write down my seed phrase. And I just I checked off I wrote down and verified, and I pressed the next. It did not write it down.
[01:19:49] Egge:
I'm I'm not actually sure if I pushed the Mint Discovery, but maybe it even has the automatic Mint Discovery in there. You did. You had automatic Mint Discovery. I clicked many bits. Yeah. Yeah. Of course, you did. What else?
[01:20:02] ODELL:
This I mean, I, like, I do I love the BTCPay server project. I mean, personally, I've been a big supporter of them. Open SaaS has been a big supporter of them. I think, you know, it's also, you know, one of those foundational open source projects that is just it's just really essential, but it has grown quite large at this point. And I do think there's a place in the market for selling, you know, steak at your farmers market, and you just need, like, a quick and dirty point of sale that just works, that just goes to your cashew.me wallet. You know? It's just like and you just receive SaaS there.
[01:20:49] Egge:
So what you're saying is that, BTC pay server is gonna be the SAP of the Bitcoin world, basically. Kinda. Yeah. Yeah. But open source. Of course. No. No.
[01:21:01] ODELL:
But, yeah, I mean, it's like, you just have to spend time. Like, no one's like I don't think people are, like, necessarily, like, spinning up a BTC pay server, and then they're, like, off to the races. Like, you have to like, you go down the rabbit hole and you look at through all the features and you tweak it and you iterate over time and you add this and you add that and you run a lightning node and you do that. And it's cool. I mean, you can run a Wasabi coordinator through BTCPay server. There's just a lot of things going on there. And sometimes you just wanna sell four items on a point of sale and receive cashew and then be able to spend it anywhere Lightning's accepted.
[01:21:41] Egge:
You know? And And that's kind of the idea with PeanutPal. Right? I I say I think the use case of PeanutPal is much more like the flea market than is the the, like, three, like, big, big business enterprise stuff that needs invoicing and everything. It's just like, hey. I I have some stuff I wanna sell. And at the end of the day, I wanna see how much money I made, and that's it, basically. Yeah. And then we've gone through don't jump through all the, like, hoops.
[01:22:09] ODELL:
Yeah. I mean, Tesla, like, used b like, forked BTCPay server to, like, sell cars with for Bitcoin. Yeah. I remember that. Thanks. Yeah. Because it's like and they submitted actually vulnerability reports or whatever to it, which is pretty cool. But, there's, like, just two different use cases. Like, that's not the guy who's selling eggs at the farmer's market. Okay. This has been a great conversation. I would love to do this more often. I don't know. Like, every six months or a year or something. Okay. Awesome.
[01:22:45] Egge:
Of
[01:22:46] ODELL:
course. And, but before we wrap, what are you most excited about right now in the space? Cashier or otherwise?
[01:22:57] Egge:
Yeah. I mean, like, obviously, it it must be cash's stuff. Right? Getting bolt 12 in is is just a super cool thing that the velocity of the protocol, I mean, like I said this before, is is is insane. We're working super super like, not not not I'm I'm not working on that, but, like, team is working on on getting CDK everywhere. We're talking about CDK summer here building building, like, bindings to different programming languages for, like, CDK, the cache development kit written in Rust. And that kinda is the the goal is basically to be able to put cache everywhere. Like, if if, like, Amethyst devs wants to put, like, want to put it in in Amethyst, it should be just, like, one single package that you import, and then it's done. So bindings for everything is definitely something that I'm super excited for because we will see so many Cashew, wallets and implementations bloom from that, and then just, like, general protocol development.
With Bold 12, man, if, like, Bold 12 had more adoption, we wouldn't need n pop dot cache anymore. Right? People could just, like, put a Bold 12 Yeah. Offer somewhere, and then it would just work or something like that. What's your opinion on Bold 12 adoption? There's none. Right?
[01:24:09] ODELL:
I don't know. Yeah. I mean, it's been it's been super hype. Like, I like it in practice. I
[01:24:15] Egge:
mean, like, I remember that I was super so I was running I was running LND way back in the day, basically, and I switched to CLN because CLN had the, like, experimental bolt 12 support. I was super hyphened. That must be, like, I think, '22 or something. And I did that. And ever since then, I've not touched bolt 12 again. Yes.
[01:24:36] ODELL:
Yeah. I mean, the dream of bolt 12 is you're not you don't have to run an Allen URL server, a separate server for, like, the lightning address, and the invoices are reusable. So, basically, like, I would just have, like, a string that if someone had that in their contact list or I could have attached to my end pub, that they could just constantly send me payments. Yeah. Like, I think Nasr actually does kind of solve a little piece of that, which is like, okay. Well, you have a reusable payment string, but, like, how do I actually discover your reusable payment string? And that could be via Nasr.
Yeah. But, yeah, we don't really have, like and these things take time, but, like, the end user wallet I guess that's why it's important that you guys have support for it now. Right? Like, I guess, cashew.me will be be able to spend to both 12 hopefully soon. Is that the plan? Or and receive I yes. I mean, like, the client side is very, very easy. I think Mint support is is what will take a bit longer because the Mint actually needs to do the lighting stuff. Right?
[01:25:36] Egge:
So the Mint support is probably gonna take a bit longer, but it's there, and it's it's working. So with back end step, if if Mints actually upgrade, they would be able to support it, and it would work. So, that's that would be pretty cool. Yeah.
[01:25:51] ODELL:
Correct me if I'm wrong, though. Like, we can't I don't think we can use both 12 for zaps if we want the social signal.
[01:26:06] Egge:
Why not? So, I mean, you mean, like, you mean, like, putting it in your bio and then just, like, have people no. No. No. That's true. No. No. No. Because the best part of Zaps,
[01:26:16] ODELL:
the reason Zaps work is because, when when Lan Tungir zaps 420 SaaS and says, let's go, I know it's Lan Tungir that's zapping 420 SaaS and saying, let's go because there's a a data exchange that's happening there. And then the nostril receipt is being sent out. Can we do that with bulb 12 too? Or
[01:26:40] Egge:
No. And we shouldn't. We should like, this should be cashew nuts. Like, the the the spec is there. Right? Nutzaps and NIP 60 So you think we should switch to Nutzaps altogether? Native cashew? Percent. Yes. 100%. Because it's and, like, it is in in in in every aspect, it's, like, so much I mean, like, I get the whole this is custodian, and let's not, like Yeah. Let's not open that box. Right? It's like, that's a whole different a whole different story. But because the reality is that I I don't know if, like, there's new updates on it, but, like, there was this pie chart once with, like, all the different Zap addresses that were used. It was, like, I don't know, 40% wall of Satoshi or something and, like Yeah. So let's not just for the sake of let let's not talk about that. But, like, from the implementation standpoint, from the implementation standpoint, a nuts app is so much better than what we currently have where, like, you talk to the lightning provider, and then it gives you back and you give it an event and it signs it back and then publishes a different event. Like like, 57 is super complicated. Right. Like, it's, like, so much moving forward. The Nasr receipts aren't sent the Zap receipts
[01:27:49] ODELL:
fail to send or your Relay doesn't pick it up. The other thing I I believe, and correct me if I'm wrong, right now, we can't there's there's no way for an external user to verify if a Zap is actually real because the Nasdaq receipt broadcaster could just be lying about receiving a Zap. But we could probably do verifiable zaps with with Cashew. Right?
[01:28:16] Egge:
And one, like, 100% out of the box without doing anything. The Yeah. So if I if I put if you have an Osiposa and I lock a token to your to your public key and I just put it in the comments and write a comment to next to it, that's the nuts app. There's a token there. Everyone that everyone that sees it, even though they're not be able to spend it, can verify that this is a valid token. Locked to the end part. And it's locked to the end part. It's not spendable by me. It must be 100 valid. It it includes, like, smart cryptography that lets people verify this without talking to the mint if they know the mint's key sets. But they even could ask the Mint whether this is unspent and real.
And, so
[01:28:58] ODELL:
it it just I mean, that for that alone, it's cool. I mean, I feel like every new Nasr user always comes up with the same idea. I've seen it click in their head a million times, which is like, well, what if we just had an algorithm that was, these are the posts that have gotten the most zapped? And if as it currently stands, like, if Noster had any kind of significant adoption, that would be the most game stat ever. It already is Yes. Somewhat gamed. But Didn't didn't it would be the most do that at the beginning. Yeah. Yeah. I mean, he's our resident let's game things while we have 12 users. But, yeah, he already gamed it, and and there's no way for people to verify. And there's, like we could do lipstick on the pig stuff where it's like you white list certain l and URL servers. Right?
Like, obviously, like, as as operator as as one of the operators of Primal, like, we know Primal isn't lying to Primal. So, like, if you're sending to a Primal address, like, we know that there's there's actually some signal there. And you could have, like, a consortium or some shit. But I I think that's what we're trying to solve against. Like, we don't wanna have that. That would be so right now in practice, zaps are, like, a cool signal, but, like, you can't you gotta take take them with a grain of salt. But if we did it with Cashew, that seems really compelling to me, especially, by the way, when we could store the nuts in the relays, then you just got the whole
[01:30:27] Egge:
whole thing. You can store the nuts in the device. Right? I mean, like, that's it's a that that would be the next step. Right? But it it even stand alone, it solves the onboarding problem because you don't need the IP address. If you if you have an also profile, I can send you a nuts up. And and it's already part of the protocol. People should just implement it. I think it's in every system. Like, it is better than than the than the current Well, this might be the first that might be the first Nasdaq civil war
[01:30:55] ODELL:
over, NetSachs.
[01:30:58] Egge:
There have been many. There have been many on GitHub already, I think.
[01:31:02] ODELL:
Yeah. But the first major one. I mean, that Yeah. I mean, it would be a it would be a big split on the client side. Yeah. That's true. Be very it'd be a user facing war. Right? Like, yeah. It wouldn't just be devs arguing about protocol specs. It would act it would actually be like, I can't zap you or I can zap you. Okay. Aggie, this is great. I enjoyed it. I hope you enjoyed it as much as me.
[01:31:32] Egge:
Absolutely.
[01:31:33] ODELL:
It was a blast. This is great, Freaks. Thanks for joining the live chat. You guys make the show special. Thank you to everyone who donated Sats. I appreciate it. You keep the show ad free, sponsor free. If you don't have Sats to spare, the best way to support dispatch is to share with friends and family. Just open up their phone, go into their podcast app, press the subscribe search ciel dispatch, press the subscribe button. All the links are at cieldispatch.com. Then they'll be like they'll open up their podcast app. They're like, who the hell is Aggie? What am I listening to? They have no idea what's going on, but, hopefully, it'll go through, and they'll just they'll slowly start to figure things out, and we'll test the things out. Next week, I'm gonna do a show. I don't know who I'm doing it with. I don't know when I'm doing it, but I will I will line up a show for you guys, and I'll notify you on Noster about when that's gonna be.
Maggie, final thoughts to wrap us off?
[01:32:36] Egge:
It was, absolute fun times. Again, like, I'm happy to come back anytime. If you are a developer, again, like, look into Cashew. It's super fun to build with. And if you're a user, also look into Cashew. It's super fun to use. And, yeah, enjoy the rest of your nights, guys.
[01:32:55] ODELL:
Love it. Stay on, bull, StackSats. Peace.
Happy Bitcoin Friday
Nostr Live Streaming and Open Protocols
Egge: Creator of npub.cash
Understanding npub.cash and Lightning Addresses
The Evolution of npub.cash
Challenges with Redeeming Zaps
Future Improvements in Cashu Protocol
Cashu Ecosystem and Development
Mint Discovery and User Experience
Public Infrastructure and Vibe Coding
The Future of Mint Operations
Risks and Responsibilities of Running Mints
Improving Mint Discovery and Recommendations
User Experience Challenges in Cashu
Implementing Cashu
Point of Sale Systems with Cashu
Bolt 12 and Future Payment Protocols
The Potential of Cashu and Nostr