This article describes the benefits of accepting Lightning payments and why and how we started accepting them. It then zooms in on how Lightning payments can solve a particular problem for businesses that work with an account balance and how that improves the users’ experience. It concludes with an outlook on the payment infrastructure and of Lightning itself.

Motive

We had to get in on lightning as it solved many of our payment problems: Alex Bosworth sums it up pretty nicely:

At Marcopolobot.com we like to work with cutting edge technology and we are known for our “lightning-fast” lending infrastructure. When we started our business, we began with accepting Bitcoin. But as fees and transaction time in Bitcoin went up we had to implement other payment methods, so we started accepting payments in Litecoin and Ethereum. This however turned out to be a bit bothersome as we denominated the account balance in Bitcoin. Offering refunds after e.g. a month involved a strong exchange rate risk, because we converted someone’s Litecoin and Ethereum into Bitcoin.

At Marcopolobot.com we have an account balance denominated in Bitcoin.

Account balance

Our service charges users for every microloan that we deployed. When our users top-up their account balance, they pay in advance for our service. The high transaction costs that are involved with sending bitcoin have degrading effects on our users’ experience. Because of this, many users choose to pay a larger amount which is enough for several months worth of our service to minimize the amount of transactions. For usability reasons, it would be better if we could charge our users on a ‘pay-as-you-go’ basis. These obvious benefits led us to implement Lightning.

The following paragraph will describe how our users’ experience improved as a result of Lightning, and how businesses can and will benefit from using Lightning.

Improving the user experience of the account balance

Many services share the same design pattern: the account balance. In the old situation, the UX was as followings:

When a user deposits funds: their account balances get updated.

When a user is charged: the fees are deducted from their balance.

Why is this bad for businesses?

The business is responsible for storing cryptocurrencies that are not owned by them.

It needs to manage an outflow of cryptocurrencies, which is sensitive to hacking.

Why is this bad for consumers?

It can be annoying for users who forget that they still have some balance sitting on a site that they don’t use.

Often it is hard to predict how much the user should deposit. Therefore users opt to pay in larger quantities to decrease the amount of transactions and because they would like to keep the service running.

Lightning as an alternative for account balances

If the friction that is associated with each transaction would be dissolved, more efficient payment methods could arise. This would make it possible to do micro ‘pull’ payments, where the merchant could e.g. daily pull the corresponding amount from the users’ wallet.

In the future you won’t have a balance for every different service, all your accounts are connected to your wallet and payments are done on a pull basis.

Wallets will be able to authenticate the merchant and automatically pay its invoices. For example, your wallet might implement the following rule: pay invoices from Marcopolobot up to 0.0001 BTC per day. Whenever the invoice exceeds this amount or when suspicious activity is detected, the user would be asked to accept the payment manually. This setup requires less trust in the merchant than with an account balance, because the account balances can be kept very small.

How we implemented Lightning

Setting up a Lightning node was quite easy. We first spun up a Digital Ocean droplet and used a docker image. Using a SSH connection, we did some configurations and after downloading the entire blockchain history we were only left with making a few architectural changes to our payment infrastructure and we were all set!

Granted, this does require some programming knowledge. The presence of these well-developed open source tools however already makes it quite easy for people with developing experience to implement it for other parties. Which is hopeful for the development of bitcoin!

Future expectations

In the future we expect bigger intermediary parties such as Coinbase to start opening payment channels so as a user and merchant you won’t need to go through these steps. Lightning wallets are currently still unavailable on the mainnet, however users with some experience and a bitcoin node can already experiment with it. The Lightning Network is not completely ready for production yet because there are some instabilities that can result in funds being lost. When these instabilities are resolved, the Lightning Network will be ready for use. Therefore we currently only still accept payments on testnet. We are looking forward to the mainnet beta release.

Concluding remarks

Account balances cause for a bad user experience and we hope lightning could provide a good alternative. Bitcoin has had its growing pains, and transaction difficulties have proved to be quite a bottleneck, especially in the recent upswing in December 2017. Lightning is very promising and once it becomes stable enough, Lightning might be the beginning of a new era for cryptocurrencies. We’re happy to be part of it.

If you need help with opening a payment channel or would like to know more, reach out to us via our chat or send an e-mail. We’re interested to hear from you.

—

Team Marcopolobot