Solutions to inbound capacity problem in Lightning Network

Dmitry Laptev
Jan 30, 2019 · 6 min read

If you want to accept payments through lightning network or to properly balance your channels — your node needs to have sufficient inbound capacity. This article describes what that is and practical ways to get it.

The problem

Toy network graph example. Left graph shows channels and its capacities — the information visible publicly. Right graph shows how the balances are actually distributed within each channel (unknown publicly) and directions funds can flow. From the picture on the left it may seem that node E has the best connectivity. But in practice all its balance is local, it has no inbound capacity, and can not receive or route payments.

Payments over Lightning Network (LN) work differently from how on-chain bitcoin transactions work. My previous post describes beautiful cryptographical magic behind LN, below are just few practical points.

  • Lightning network consist of two-sided channels, and all the coins are locked in these channels.
  • The total amount of bitcoins locked in a channel is called channel capacity.
  • The amount on your side of the channel is called local balance. The amount on the side of the peer is called remote balance.
  • When you open a new channel — all your balance is local (here we omit dual-funded channels and pushed amount for simplicity).
  • The capacity of a channel always stays the same (here we omit splicing for simplicity) and roughly equals to your local balance plus the remote balance (roughly because of commit fees).
  • When you pay — the balance flows from your side of the channel to the remote side. When you receive payments — the other way around.

Which brings us to one of the biggest culprits:

In order to receive payments, your node needs to have sufficient inbound capacity: sufficient number of open channels with sufficient remote balance (otherwise the balance cannot flow to your side).

To increase inbound capacity means to somehow get channels with large remote balance. And for small new nodes it can be very-very tricky. And if that is not enough, there is one more aspect to this:

Not all inbound capacity is the same. It can be more useful or less useful. A channel from a well-connected and balanced node will connect your node to hundreds of other nodes. A channel from a new non-public node will not.

Confused about how to get it right? Fear not, there are ways!

Solution 1: Spend

Of course this approach does not solve all the problems for everyone. But if you have a choice to pay via LN — use it and you will have less troubles with incoming payments in the future.

Solution 2: Ask for incoming channels

This is probably the best option for most nodes: if you need inbound capacity — ask for incoming channels. If you are a merchant — ask your clients, if you know someone running a node — ask them.

But by far the easiest way is to use channel opening services. To the best of my knowledge — there are currently only three out there.

  1. Thor — a service by a lightning-enabled merchant Bitrefill. They can rent you a private channel with capacities from 0.003 and up to 0.16 BTC, which they promise to keep open for at least 30 days. Depending on the capacity it will cost you anywhere from a dollar and up to more than 20 bucks.
  2. Y’alls — a service by Alex Bosworth, which allows you to pay less than a dollar for a 0.02 BTC channel. And while this may seem cheaper than Bitrefill, beware that Y’alls sets higher than usual routing fees (which your clients will have to pay).
  3. LightningTo.Me — my personal and non-profit hobby project that will open a 0.02 BTC channel to your node for free. And yes, it also sets very low routing fees. Here you can read the answers to some frequently asked questions.
  4. (no longer working as of November 2020) LNBig.com — a large liquidity provider that will open a channel of up to 0.04 BTC for free. Their policy about routing fees change quite often: they are currently rebalancing their node and set the fees to almost zero, but expect them to grow at any time.

There are also nodes such as Lightning Power Users that promise to open a channel to your node if you first open a channel to their node. Beware that this will not always work with nodes running c-lightning, which allows only one channel between two nodes.

(no longer working as of November 2020) Another interesting idea is a market place for channels. Two examples you can check are glowsat.com and jolt.market. These services allow owners of LN nodes to buy and sell channels.

Solution 3: Custodial exchange lightning bitcoins to on-chain bitcoins

I hope that soon enough many large exchanges will enable lightning deposits, but for the moment there are not so many options. I will just mention some links: zigzag.io, fixedfloat.com, sideshift.ai, hodlhodl.com, southxchange.com, btcduke.com, coinplaza.it, ln.zone, lightningconductor.net.

Please beware that exchange services are not always very reliable. Do your own research and immediately withdraw your coins once exchanged.

Solution 4: LOOP and POOL

Pool by Lightning Labs. This is a non-castodial marketplace for users willing to sell and buy liquidity. Also not very user-friendly for the moment, but please refer to the intro blog post and the github repository.

Solution 5: Use custodial storage

Examples include various custodial wallets: BlueWallet, Wallet of Satoshi or Bitlum. For these everything is quite clear: you deposit lightning bitcoins from your node to theirs, freeing up local balance of your node.

But if you are creative enough, you can also make use of other services. For example, you can send yourself a large tip via tippin.me. This way you will store some portion of your funds on their node.

Solution 6: Keep your node online

First, people like nodes with at least some connectivity that are always online, because these nodes are more likely to root their payments. Second, some nodes are running on autopilot, and if you are online — you may get a channel from these nodes just by pure chance.

Conclusion

Do you have any comments? Did I forget something? Please do not hesitate to share your thoughts! Let’s keep improving this post and help Lightning grow. Oh, and follow LightningTo.Me updates on twitter!

LightningTo.Me

Building solutions for Lightning adoption.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store