Egge is one of the lead developers in the Cashu ecosystem. Former maintainer of cashu-ts, the TypeScript implementation of the protocol, he is now building Coco, a library that aims to make integrating Cashu as easy as possible.
We reached out to talk with him about bitcoin-based payments, which will be the main topic at the next Bitcoin++ conference in Berlin.
Hi Egge! Tell us a bit about yourself and what you are working on! What are you going to talk about in Berlin?
I’m an open-source developer working mostly on Bitcoin payments and Cashu. My goal is to make Bitcoin payments accessible to anyone, enabling a more sovereign world.
A lot of my current work revolves around Coco, a TypeScript framework for building applications on top of Cashu. Cashu already provides really powerful payment rails, but there is still a lot of complexity involved in implementing a full wallet or payment system correctly. Coco tries to abstract a large part of that complexity while still giving developers control over how their application works.
In Berlin I’ll be doing a workshop showing how easy it can be to integrate Bitcoin payments into products using Cashu and Coco. I want developers to leave with the feeling that adding Bitcoin payments to an app or ecommerce product doesn’t have to be a massive undertaking anymore.
The topic of Bitcoin++ Berlin is payments. Where do you stand on the Bitcoin monetary-scale? Is Bitcoin more a Store of Value (savings) or a Medium of Exchange (payments)?
Both are incredibly important, but personally I care even more about Bitcoin as a medium of exchange.
Bitcoin being a global, accessible, fair and equal form of money is what makes it so powerful. The store-of-value aspect is obviously important for building sustainable wealth, but the freedom to transact freely is even more fundamental to me.
If I had to choose between a world where Bitcoin becomes the dominant savings asset but everyone continues paying through fiat systems, and a world where hundreds of millions of people actually transact using Bitcoin-native payment rails, I would choose the latter.
That said, I think the distinction is mostly theoretical. I find it hard to imagine Bitcoin being adopted globally as a payment system without also establishing itself as a major global monetary asset and taking market share from other stores of value.
Currently, we can see both a lack of merchants accepting bitcoin and users spending it. Do you think it is more an economical problem — i.e. bitcoin exchange rate is continuously rising and people do not want to spend it — or a UX one — it is difficult to use and accept bitcoin?
I think it is a combination of several things.
There are already very orange-pilled merchants who would like to accept Bitcoin, but the additional integration work, accounting, tax considerations and general operational complexity make it unattractive.
On the user side there are similar problems. People have to figure out how to convert fiat into Bitcoin, which wallet to use, which provider to trust, how custody works, what payment method they need and so on. Even terminology like addresses, invoices, payment requests, sats, Bitcoin, Lightning and ecash can become intimidating very quickly.
And then you have the classic chicken-and-egg problem. Merchants are more willing to do the work of adding Bitcoin if it lowers their fees or brings them additional customers. Users are more willing to learn how to pay with Bitcoin if they can actually use it in many places.
I don’t really buy the argument that people will not spend Bitcoin because it appreciates. People need to consume regardless of what currency they save in.
“Spend and replace” is a completely valid strategy: spend Bitcoin and use the fiat you would otherwise have spent to replace the Bitcoin. You can take that even further and simply get paid in Bitcoin.
I think the HODL movement has sometimes created this idea that spending Bitcoin is inherently bad. I disagree with that.
How do we make sure that Bitcoin is actually used as a payment method? How do we convince more merchants to accept it and more people to spend it?
A big part of it is simply making the experience dramatically better.
We need Bitcoin payment systems that can compete with PayPal and Visa on UX. A normal person should not need to understand payment rails, liquidity management or protocol details just to pay for something.
I think we will increasingly see wallets and merchant applications dynamically choose between different payment mechanisms behind the scenes. BIP321 is already moving in this direction by allowing payment requests to contain several possible payment methods.
We experimented with this in Numo, a mobile Cashu point-of-sale application. A merchant can present a single payment-request QR code and accept both Lightning and Cashu bearer payments. The merchant does not need to present different buttons or explain different protocols to the customer.
There are situations where understanding the underlying technology is absolutely critical. Cold storage is the obvious example: if you are protecting your life savings, you need to understand what you are doing.
But spending-money applications are different. We should be comfortable hiding complexity there.
At the same time, I do think we should actively explain why spending Bitcoin matters. Bitcoin does not become a widely used monetary system simply by everyone holding it forever.
You are one of the leading voices in the Cashu ecosystem. Do you think Cashu is the best attempt at making Bitcoin everyday money? What are the strongest advantages in using Cashu as money compared to other layers? What are its disadvantages?
I don’t think there is an absolute best solution. Every payment system has trade-offs.
What I think Cashu does exceptionally well is UX. Representing money as a digital bearer asset enables interactions that feel much closer to physical cash.
You can make offline payments. You can literally put money into a message or an email. You can drop money into a digital tip jar. The receiver does not necessarily have to be online at the exact moment the payment is created.
Cashu can also interact with the wider Bitcoin ecosystem, so it does not need to exist as an isolated payment network.
Another major advantage is what it can do for developers. Cashu encapsulates an enormous amount of payment complexity, and the developer tooling has become very good. With libraries like CDK and Coco, and increasingly capable AI development tools, building a functional Cashu wallet can genuinely become an afternoon project.
That accessibility is important to me. If we want thousands of applications experimenting with Bitcoin payments, developers need primitives they can actually build with.
The most obvious trade-off is custody. A Cashu mint is a custodian, and you have to trust it with the Bitcoin represented by the ecash it issues.
But Cashu is not supposed to be a vault. I think of it much more like the cash you carry in your pocket. Long-term savings belong in proper Bitcoin self-custody.
One useful property of Cashu is that the custodial risk can also be distributed across multiple independent mints. Instead of putting all your spending balance with one custodian, you can hold ecash from several.
There are also interesting approaches for reducing trust further. Federations are one option, although they introduce their own complexity. TEEs are another promising approach for reducing how much trust needs to be placed in the operator. There are a lot of experiments happening here, and I think we will learn over the next few years which models work best.
Another challenge is simply domain knowledge. Cashu makes many things technically easier, but users can still be confronted with Bitcoin terminology and then additional concepts such as ecash, tokens and mints.
That is ultimately a UX problem for us to solve. Users should not need to become protocol experts in order to spend money.
Other than Cashu, what are you most excited to see at Bitcoin++ Berlin?
Definitely the hackathon.
It is always incredibly fun seeing what people come up with when you put a lot of smart Bitcoin developers in one place and give them permission to experiment.
Some genuinely novel ideas and projects come out of these hackathons, including things nobody would have predicted beforehand. That experimentation is one of my favorite parts of Bitcoin++.
We’d like to thank Egge for his availability for this interview. Would you like to attend Egge’s workshop and see what devs are working on? Join us in Berlin this October 1- 3 to talk about payments in Bitcoin!



