Dr. Carsten Otto

Carsten Otto

Lightning Network

  • A little script that helps rebalance LND channels: rebalance-lnd
  • My node: 027ce055380348d7812d2ae7745701c9f93e70c1adeb2657f053f91df4f2843c71@157.90.112.145:9735

Channel and Fee Policy

Rationale:

I prefer larger channels because the on-chain transaction fees you need to pay to open channels are independent of channel size. As such, if the goal is to recoup these on-chain fees, for larger channels the fee rate can be set to lower values. Furthermore, for regular payments larger channels usually have enough funds on the sending side even if the channel is not perfectly balanced (50% of the funds on each side).

I believe the fee rate can be used to guide payments. Channels that don't have funds which may be used to forward transactions are disabled (by setting a very high fee rate, see related issue), whereas I apply a fee rate discount to channels which have a lot of funds available on the local side (i.e., funds that may be used to forward transactions).

One strength of the lightning network is that channels can be used in both directions, possibly sending/receiving the channel capacity multiple times over the lifetime of the channel. As such, I apply a fee rate discount for bidirectional peers.

  • Minimum channel size: 2Msat = 2,000,000sat = 0.02BTC
  • Peer nodes need to be online 24/7
  • Base fee (paid once per transaction): 1sat
  • Fee rate: default 2,500ppm, automatically updated every few hours:
    • Less than 1,000sat or 0.1% on my side: fee remains at 2,500ppm, no other rule is applied
    • Fee rate is set to 1,000ppm, or higher if I opened the channel (to recoup on-chain fees)
    • At least 1Msat = 1,000,000sat = 0.01BTC or 90% on my side: fee rate is reduced by half
    • Channel is actively used in both directions (bidirectional channel): fee rate is reduced by half
    • The fee may be reduced further if my node did not forward any transaction through the channel
  • Examples:
    • I opened a 3Msat channel and paid 2,000sat for the on-chain transaction to open the channel. I set the fee rate to around 1,333ppm so that I can pay for the open and close transactions without making a loss, even if the channel is closed after the funds are sent to the remote side (without any back-and-forth). As soon as the channel is used in both directions, or when I earn fees via this channel, I reduce the fee rate accordingly.
    • You just opened a channel to my node. The fee rate remains at 2,500ppm, because there are no funds on my side.
    • For a channel that you opened to my node, the funds are on both sides, but with less than 1Msat (and less than 90%) on my side. The channel hasn't been used in the other direction, yet. I set the fee rate to 1,000ppm.
    • For a channel that you opened to my node, at least 1Msat are on my side. The channel hasn't been used in the other direction, yet. I set the fee rate to 500ppm.
    • For a channel that you opened to my node, at least 1Msat are on my side, and the channel has been used in both directions. I set the fee rate to 250ppm.