LaaS: Lightning as a Service

We are finally ready to announce the project we have been working on for the last year!

It’s a fully Open-Source project, but it’s also a for-profit business, with a team of paid professionals working on the code. Our goal is to build a thriving community around it, and hopefully make some money as well, sort of like WordPress, MySQL and many other successful Open Source projects do.

The project is called LaaS and it’s going to live at https://laas.sh. There’s nothing there just yet, but we have most of the code developed by now. Next step is we are going to start releasing it in a series of step by step tutorials on how we built it from scratch – this way it’s also going to grow into a free educational resource on Angular, Nx, Docker, btcd+lnd, socket.io, jest, cypress and more. We’re going to really polish it out, spend time on things like multi-lingual support, 100% unit test coverage, thorough end to end tests. Bitcoin is cool and different, and we are also trying something cool and different here – it’s not a standard business model, it’s an investment into the future, into the community, at least that’s what we’re aiming at.

The name LaaS is a play on words: there are SaaS, PaaS and IaaS – Software as a Service, Platform as a Service and Infrastructure as a Service, – and now there’s LaaS – Lightning as a Service. It’s a service for people who don’t want to run a full Bitcoin node and a Lightning Network node, manage channels, worry about incoming and outgoing liquidity, backups – they can just use Lightning as a Service, via the UI or the API. The .sh domain suits us perfectly: laas.sh looks like a name of an executable Linux shell script, which is really cute, we’re really happy with it.

LaaS is a monorepo built with modern frameworks and tools, see our README.md on GitHub for more details. It consists of two parts:

The first part is the API: it’s a backend application built on top of a dockerized stack that includes btcd, lnd, PostgreSQL and ELK Stack. We will publish detailed step by step installation instructions for everything you need to run LaaS API as a self hosted service for your own projects on your own servers and dev laptops. You can just use it yourself or resell it and charge your users a fee, it’s fully yours if you are running it, you can modify it as you like (we hope you’ll submit a Pull Request if it’s something useful for the others in the community, deal?), we’re releasing everything under the MIT License. There will be tutorials and (probably) video lessons on how to set up enterprise grade deployment pipeline on bare metal from scratch, with GitLab running tests and deploying into different environments, with Portainer giving you access to all your containers, with logs in Kibana, with automatic backups and monitoring tools.

Bitcoin is all about low time preference (if you don’t understand what that means, please read The Bitcoin Standard immediately! I’ll wait) – so prepare for a long ride. Although we have most of the code developed by now, we want to really polish it out before open-sourcing it on GitHub. We have very strict due dates in our roadmap; it’s actually the same due date on all of the milestones: once it’s ready. We are actually going to open-source the API last, we’ll start with the second part first:

The second part is the app: it’s a simple hosted Bitcoin wallet where registered users can receive and send Bitcoin, on-chain or via Lightning Network. There is a QR-code scanner, a simple report on transactions, a PWA with push notifications for mobile and tablets, all the essentials that every Bitcoin-based project needs. We want you to build on top of it – come up with ideas, build cool things, go nuts! Use LaaS as a starting point – just clone it from GitHub and you are ready to work on your features in minutes.

As we build our app in a series of tutorials, each step is going to be pushed to <step#> branch in git and deployed to https://<step#>.laas.sh. For example, the first URL will look like https://01-initial-setup.laas.sh. The latest step will also be found in master branch and deployed to https://laas.sh. Once we’re done building out everything with stubs, we will connect the app to LaaS API exposed at https://api.laas.sh – the API is not going to be open-sourced at this point yet, but it will be made available to everyone via the app. Every registered user gets a hosted wallet, and also an API key. It’s going to be a paid API, and that’s how we’re going to make money – hopefully it’s gonna be enough to cover the web hosting, but if everything goes according to the plan, it will cover our lambos as well (evil laughter). Once this is done, we have a working business, with the app part fully open-sourced. The final milestone is open-sourcing the API part, which we will approach in the same manner, as a series of tutorials where we share the lessons learned during the first year of development.

It’s just a roadmap at the moment, but we are pretty much production ready, so stay tuned for regular updates. Please do contact me with any questions, suggestions and offers to help, I’m @ALeschinsky on Twitter. You’ll meet the other team members on GitHub, most of the blogging here I’ll probably do myself. One area we’d love immediate help with is translation to other languages – we are going to start with English and Russian, please reach out to me if you want to help translating LaaS into your language. Bitcoin is borderless, Open Source Software is borderless, and LaaS aspires to be borderless as well, so all languages are welcome.

Wish us luck! 🙂

Cheers,
Andrew

Published by Andrew Leschinsky

Founder and tech lead. https://twitter.com/ALeschinsky