Channel Capacity

Understanding channel capacity

Intermediate

"Moving a payment from one channel to another should work like something moving from one hand to the other."

Lightning Network Developer2018

Understanding Channel Capacity

Channel capacity is a fundamental concept in the Lightning Network that determines how much value can flow through payment channels. It defines the limits of your payment capabilities and affects your ability to send, receive, and route payments.

Channel Capacity Fundamentals

Channel capacity refers to the total amount of bitcoin that can be transferred through a Lightning channel. It's determined by the initial funding amount when the channel is opened and represents the maximum amount that can move within that channel at any point in time.

What Creates Capacity

The capacity of a Lightning channel is backed by actual bitcoin in a 2-of-2 multisignature address on the Bitcoin blockchain. This on-chain UTXO serves as the "anchor" or "settlement layer" for the Lightning channel, allowing for secure off-chain transactions to occur between the channel participants.

  • Funding Transaction: Creates the capacity by locking bitcoin in a multisig address
  • Fixed Total: The total capacity remains constant until a channel is closed
  • On-chain Backing: Every satoshi in a channel is backed by real bitcoin on the blockchain
  • Measured in Satoshis: Capacity is typically expressed in satoshis (1 BTC = 100,000,000 satoshis)

Types of Capacity

  • Local Capacity: The amount of funds on your side of the channel that you can send to your channel partner
  • Remote Capacity: The amount of funds on your partner's side of the channel that you can receive
  • Total Capacity: The sum of local and remote capacity, established at channel opening
  • Inbound Capacity: Another term for remote capacity - your ability to receive payments
  • Outbound Capacity: Another term for local capacity - your ability to send payments

Channel Balance States

  • Balanced: Local and remote capacity are roughly equal
  • Depleted: All or most capacity is on one side
  • Local-heavy: More capacity on your side (good for sending)
  • Remote-heavy: More capacity on their side (good for receiving)
Technical Example: Channel State

A 1,000,000 satoshi channel might have the following state:

TypeAmount (sats)Capability
Total Capacity1,000,000Channel Size
Local Balance700,000Can send up to 700K
Remote Balance300,000Can receive up to 300K

How Channel Capacity Changes

Unlike traditional payment systems, Lightning Network channel capacity is dynamic. It shifts as payments flow through the channel, but always maintains the same total sum (minus any routing fees).

Events That Change Channel Balance

1. Sending a Payment

When you send a payment, your local balance decreases and remote balance increases by that amount.

700,000
600,000
-100,000
2. Receiving a Payment

When you receive a payment, your local balance increases and remote balance decreases by that amount.

300,000
400,000
+100,000

Routing Impacts on Capacity

1. Forwarding Payments

When routing a payment, you receive on one channel and send on another, shifting the capacity balance in both channels.

Channel A:
300,000
400,000
Channel B:
500,000
400,000
2. Fee Collection

When you route payments, you collect fees which slightly increase your local balance compared to the amount forwarded.

Example: Routing 100,000 sats with a 1 sat base fee + 0.01% fee rate

Fee earned: 1 + (100,000 × 0.0001) = 11 satoshis

Important Capacity Limitations
  • You can only send up to your local balance amount
  • You can only receive up to your remote balance amount
  • The total capacity cannot increase without closing and reopening the channel
  • HTLC minimums and maximums limit the smallest and largest payments
  • Reserve requirements may prevent spending the very last satoshis in a channel

Capacity Management Strategies

Effective Lightning node operation requires strategic capacity management to ensure you have the right amount of inbound and outbound capacity.

Outbound Capacity Strategies

  • Opening New Channels: Fund new channels with peers who provide valuable connections
  • Rebalancing: Move funds from remote-heavy channels to local-heavy ones
  • Circular Rebalancing: Send a payment to yourself through multiple channels
  • Channel Splicing: Add more funds to existing channels (if supported)
  • On-chain Refills: Close depleted channels and open new ones with fresh funds

Inbound Capacity Strategies

  • Receiving Payments: Natural usage over time increases inbound capacity
  • Dual-Funded Channels: Both parties contribute funds to the channel
  • Channel Marketplaces: Services like Lightning Pool to purchase inbound liquidity
  • Liquidity Swaps: "Loop Out" to exchange on-chain funds for inbound capacity
  • Asking for Channels: Requesting well-connected nodes to open channels to you

Capacity Monitoring

Regular monitoring of your channels' capacity distribution is essential for maintaining a healthy Lightning node.

Key Metrics to Track
  • Local vs. remote balance ratio for each channel
  • Total inbound vs. outbound capacity
  • Historical capacity utilization patterns
  • Failed payment attempts due to capacity constraints
  • Routing success rates and capacity bottlenecks
Monitoring Tools
  • Terminal: lncli listchannels
  • RTL/Thunderhub: Graphical channel balance views
  • Balance of Satoshis (BoS): Advanced capacity reports
  • LNBig Tools: Capacity visualization
  • Custom scripts and dashboards for larger operations

Channel Management

Channel ManagementChannel Capacity
Intermediate
Complete verification first