Setting Routing Fees

The lightning network is about working together to save on fees. Why would you contribute to making fees even higher? Let’s take a look at routing fees and how you can start assigning value to the unique services you provide.

[paywall price=”200″]

Lightning channels carry risk

The hashtag that’s unquestionably associated with the Lightning Network is #reckless. While base layer Bitcoin is a slow-moving bedrock that places caution and consensus before all else, the LN is a fast-paced, amorphous network of relationships that are inherently volatile. There are fundamental differences when dealing in lightning compared to base layer bitcoin. The departures from certainty in Bitcoin can be priced as risk on the Lightning Network.

While hardly anyone has actually lost funds in stuck channels in lightning, users still have to contend with the fact that their precious bitcoin is being stored on a device that is continuously connected to the internet. Being internet-connected means that the attack surface for hacks is much larger. This isn’t meant to scare you, it’s intended to help you price your risk as you provide a valuable service to your peers.

Channels provide a valuable service

You’re not putting your money on the internet just because it’s popular! By starting up a lightning node, you’re committing time and funds towards a valuable service to the Bitcoin Network. Not only are you saving on transaction fees for purchases, but you are also enabling near-instant financial settlement, improvements to network privacy, enhancements to fungibility, efficient use of the blockchain, and yield on bitcoin. In exchange for the risks that you face and the services that you provide, you should feel comfortable setting a routing fee that acknowledges the risks you face and the market for your services.

Liquidity is the scale of contribution

The most common pattern that I’ve observed about new entrants to lightning is that they are afraid to lose funds and then decide to only make small channels ($10-50 range). What’s the market for a channel that size? Mostly, the market is you and only you at that scale.

A good practice would be to forecast what the average transaction size would be across a given $10 sized channel. If the average transaction size is $1, you can get ten $1 transactions before needing to rebalance. Great! This is a great size if the only expected transactions would be true micropayments. However, this completely misses the concept of the Network part of LN. You are not opening a channel to only one node; you are merging two networks: All of your channel peers can now send funds to all of their peers through your new channel.

Note: Pollofeed.com would be a great channel partner for a $10 sized channel because the average transaction size is <$1, especially if you aren't interested in what other channels pollofeed.com has and you just really love feeding chickens. 

How useful is a $10 channel to your combined communities? Is the average payment of your entire community going to be less than $10? Can you afford to spend the time to rebalance that channel to continue to provide a service to your community? The answer is most likely that a small channel will only provide for a couple of your own micropayments, but not provide any service to the greater lightning community nor provide a source of yield on your bitcoin.

If you choose to open a larger channel, suddenly larger payments will be able to travel through your node, yielding you routing fees, and providing additional network services to your community with less rebalancing maintenance. Once you’re comfortable with the protocol and understand what you’re doing, start with larger channels as they provide greater benefit and yield. In short, GO BIG OR GO HOME.

Let’s talk numbers

Okay, brass tacks. Set the fee so that if the channel liquidity moves from the start (usually all local) to either extreme (probably all remote), it will pay for the chain fees that it took to set up this system. Chain fees include both opening the channel and closing the channel. The routing preference for LND is not based on the cheapest route, IT IS BASED ON THE LIKELIHOOD OF ROUTING SUCCESS. So, don’t worry about charging a lot; worry about not charging enough.

Okay say your channel is 1 million satoshis. In order to pay for the chain fee of say ~200 sats and a channel close fee of the same amount, you’ll need to set your base fee to a number greater than zero (doesn’t really matter) and your rate fee to (200 sats open + 200 sats close)/ 1M capacity = 400 ppm. PPM is parts per million, which is parts fee per million sats routed. You can already see with this thinking that you want bigger channels, so the chain fees don’t negate your routing activity income. If you went with a 2M sat channel, you’d only need to charge half that rate to break even.

To save on additional chain fees, you can use batch open tools as part of Balance of Satoshis (BOS), the secret weapon of routing nodes. You can use bos open with an external wallet to open channels and save an immense amount on fees. The bos open tool would be perfect if you use electrum’s pay to many feature to pay directly from your cold storage electrum wallet to your lightning node. That way, you don’t have to keep spare funds on your hot wallet node that aren’t being fully capitalized in a productive channel.

[/paywall]


Did you like what you read? Send a tip to support more great lightning content.

bc1qmpdtxqnnvpqf55kd3rz3r8kr3grkz7hjvdgjyp


One thought on “Setting Routing Fees

Comments are closed.

  1. Love the focus on creating channels that will be utilized correctly. More channels doesn’t always equal a better network.

    Forecasting how much a specific channel will be used seems paramount when deciding how large to make it, keeping in mind the goal of collecting sats for your work