Yo. Today I am extremely excited to finally announce the biggest effort Zap has ever been a part of. This blog post might be a little longer than my typical post, but I have a lot of amazing things to say.
Today, we are announcing that Zap will offer a Lightning-enabled fiat on and off-ramp service I like to call Olympus. Olympus allows users to go from fiat to making and receiving Lightning payments in seconds.
Zap has existed for over two years now. Back in the spring of 2017, while working at the only day job I’ve ever had, I started writing code for a Lightning wallet in my free time. I developed the opinion that the Lightning Network would begin to introduce a new relationship between bitcoin and its end-users. The ambitions to help translate these complex protocols in a way that would allow Lightning to be used by millions of mainstream consumers without a third party is the how and why of Zap’s inception.
But the most prominent and persistent challenge Lightning faces today is onboarding users.
How a user goes from:
I want to use Lightning
This user story comes prepackaged with intrinsic friction and has proven to be an extremely complicated and unique problem. To date, there hasn’t been a solution that has the ability to satisfy Zap’s ambition of putting hundreds of thousands or even millions of Lightning nodes on devices all over the world.
Almost two years ago I synced a testnet Lightning node on my iPhone for the first time and posted a video of my first payment from my phone. How would you get millions of people to do this? How does a no-coiner bump into a Lightning QR code, get onboarded, and scan it?
What if general consumers never had to experience the limitations and the inherent expensive nature of the bitcoin blockchain? What if they don’t need to understand the layered complexity of channels? What if they don’t need to trust a custodian to own their keys? Someone who has never experienced bitcoin before should be able to swipe their debit card, get bitcoin delivered to them directly onto the Lightning Network, and make inexpensive instant micropayments within seconds of purchase.
Accomplishing this takes a lot of effort and expertise in a wide range of skill sets. Legal expertise and the ability to educate lawyers and regulators is required. Market and trading expertise that enables near-instant settlement, tight quote streaming to consumers buying small amounts, and smart order routing to ensure fair pricing and best execution, is required. Fast yet pinpoint accurate automated risk management is required. Experience with building on bitcoin and Lightning is required. The ability to cleverly use the protocols to execute the vision is required. And lastly, the product chops to design and implement something new that not only works but works at scale is required.
Well, what do we do? Do we wait for Coinbase and BitPay to come around to Lightning? Leave it up to the closed-source elites that have misrepresented bitcoin for years to take the baton and run to the finish line?
No. Fuck that.
So, a little less than a year ago I set out to get the ball rolling and accomplish this.
Olympus was intentionally designed as a standalone component. It is not something baked into the Zap wallet itself and having a Zap wallet is not required to use the service.
I use my Zap wallets every day, and I think they’re great. There are also so many great Lightning services out there, with new ones emerging every day. Everyone building on Lightning should be able to leverage the infrastructure work we’ve done to get here. So, Olympus will be available to any external app, product, business, etc. to use.
The first thing to do with such a service is to implement it into our already well-distributed Lightning wallet. All of our wallets are open source, and my intention is that the implementation of the fiat ramps into our own wallets can be used as a reference for others.
So, without further ado, here I am replicating the same video I recorded two years ago on Testnet. The difference is, this is mainnet. I have no bitcoin. I have no channels. All I have is a freshly downloaded Zap wallet and a Bitrefill Lightning QR code staring me right in the face.
Here is what it looked like on my iPhone.
Olympus will be available inside of all Zap wallets: iOS, Android, Mac, Windows, and Linux. Here I have a fresh Zap Desktop instance. I have no coins. I have no channels. I top up the wallet by buying bitcoin. The bitcoin is delivered instantly and in seconds I blow through a $0.02 paywall to finish an article.
Previously, the user story read like this: take fiat, buy bitcoin, wait until you’re allowed to withdraw, withdraw and wait for confirmations, deposit bitcoin onto the Lightning Network, open channels, wait for more confirmations, scan QR code. Not anymore. Download, buy, scan. What new economy does this unlock? I don’t know. We can’t know, because the world as we know it has never seen anything like this.
Ok, time to get down and dirty into how it all ties together.
KYC/AML is not required to use Zap and it never will be. Yes, users that want to use this feature will have to comply with KYC/AML. I fought hard for minimal KYC/AML, as purchases will likely be small, but it’s KYC/AML nonetheless. As much as I love you all, I am too young and too pretty to go to jail right now. However, let me make a few points clear.
Users that use Zap today do so on an anonymous basis, and that will always be an option. If you would like to buy bitcoin directly over Lightning you will be able to, but this feature is not required. We’ve architected the code in a way where we can even release versions of Zap that don’t have the buy bitcoin feature embedded. Olympus is designed to give non-custodial Lightning a chance at mainstream adoption and onboard the masses, but it’s not for everyone. With Zap, it will always be your choice, and you can audit our open source code at any point.
How It Works
Olympus is an external service that clients make requests to. The service is responsible for the hard parts: onboarding users, processing payments, managing market risk, streaming quotes, and delivering bitcoins.
Olympus can deliver BTC in whichever way it sees the best fit: Lightning payment, submarine swap, on-chain, etc.
How does Zap allow you to go from no channels to a Lightning payment in seconds? Who is paying for fees? Let’s walk through it.
Today, many Lightning services have tried to solve this onboarding problem by opening channels to the user when the user creates a wallet. As convenient as it may seem, I see this as only a stop-gap solution that can’t scale in the long term. Speaking bluntly, marketing onboarding users this way is a bit misleading.
For simplicity sake, let’s assume a $100 channel per user, ignoring the fees. For Zap’s latest major desktop release alone, with 20,000+ downloads, that is a $2,000,000 capital requirement without accounting for blockchain fees, which will inevitably rise in cost. For a Lightning wallet to reach the scale of 1M-10M users, that is a capital requirement of $100,000,000-$1,000,000,000. Without accounting for fees, and highlighting the shortcomings of only allowing a user receive capacity of $100, this is simply infeasible.
How do we solve this? Turbo channels. Explained here and originally made popular by Bitrefill. The added feature to the protocol allows pushed amounts when a channel is opened to be spent immediately. Within the protocol, pushing bitcoin to the other side of a new channel is silly, as you’re more or less giving money away. That is unless the user already paid for the bitcoin. Then, it becomes a way for users to spend bitcoin immediately as soon as the channel handshake is finished. Users aren’t forced to use this option, as they can always wait as long as they’d like for their desired number of confirmations.
It’s also important to note that this becomes resistant to DoS attacks. If Zap were to open a channel on download, there is nothing stopping someone from abusing this service and requiring Zap to constantly close and open channels for them. Given that users have to pay for this service, it can’t be abused. So, because of this, Zap will begin by giving users receive capacity when they buy bitcoin. I would encourage users to abuse this because when they do, it’s because of them that I will be enjoying my pamplemousse martini in the ocean on my new yacht, sitting on a fat stack of sats :)
I have big plans, and believe it or not, I still have more announcements to come over the coming months. Partnerships, more features, and more products.
As excited as I am to get all of this out to you all, we are going to start with a beta program. I would like to remind everyone: Lightning itself is still early. It is not recommended to put more money on Lightning than you are willing to lose. With bugs being reported in the major protocol implementations, neutrino not officially supported on mainnet, and our own software in beta as well, it feels early to invite an onslaught of capital to the network immediately. I have zero desire to do this fast and I have every intention to do this right.
This will take a community effort. A lot of testing, reporting of bugs, feedback on features, and collaboration. If you’d like to join the beta, buy bitcoin over Lightning, and help us test, you can do so on our website or on fiattolightning.com.
The plan is to begin to roll this out publicly over the coming months. Oh, and Zap doesn’t plan on just servicing the US, we are mission-driven to bring this to the entire world.
Alright, everyone, I’m gonna end it here. I can’t begin to express how excited I am. Thinking back to when I first started this project, I have a really hard time believing where it is today. Thank you so much.
To the Lightning Network protocol developers, thank you. I am in awe at the pace of Lightning development. To Lightning Labs, thank you. Zap uses LND for everything Lightning related, it is an amazing piece of software.
To CMT Digital, thank you. The layered legal, market, trading, and engineering complexity baked into pulling this off is hard to fathom. Colleen and everyone over at CMT are angels, not only for Zap but for bitcoin. They’ve been pushing market maturity by supporting things like Bakkt and are now committed to helping Lightning grow and succeed as well.
Lastly, to my parents. Everything you see here has been funded by the Mallers family. It hasn’t been easy but offers to fund Zap have come with bogus demands, borderline malicious agreements, and hidden agendas. We haven’t bent the knee for anyone. This is our effort as a family to give back to bitcoin, which we are forever in debt to. My parents are top donors to bitcoin charities, have funded Bitcoin Core development, and now have funded Lightning development. I know if I don’t say anything they never will, it’s just who they are. Modern-day heroes if you ask me. Stack sats and give back. I’ve never been prouder to be a Mallers, and more specifically, the son of my parents. Thanks, guys. I hope I’m not embarrassing you, but I’m so proud of everything, I can’t help it.
As I said above, I’ve got more coming. I’ll talk to you soon.
Much love fam, much love 👊 🍻