Skip to content

Feature Request - Channel Performance Analytics & Recommendations #1087

@racarr202

Description

@racarr202

Problem Description

Managing Lightning channels effectively requires insights into channel performance, particularly regarding fee efficiency relative to channel age and liquidity. Node operators currently lack a native way within Lightning Terminal (LiT) or lncli to easily identify under-performing channels that tie up capital. While existing tools (lncli listchannels, lncli fwdinghistory) provide raw data, obtaining key performance indicators (KPIs) and actionable insights from this data requires external processing.

Solution Proposal

Integrate the following channel performance analytics and actionable recommendations directly into Lightning Terminal (and/or lncli). This feature would provide the following functionalities:

  • Calculate "True Channel Age": Determine channel age by querying the blockchain based on the channel_point transaction ID.
  • Calculate "Fees/Days": Compute this metric based on the total value of forwarding events and the "True Channel Age."
  • Calculate "Fees/(Days X Sats)": Introduce an efficiency metric derived from "Fees/Days" and the local_balance of the channel.
  • Provide "Channels Recommended for Review": Offer a dedicated section listing channels for potential re-evaluation or closing. The criteria for these recommendations would focus on:
    • Channel Age: Channels at least X days old (e.g., 30 days, configurable). This is required to ensure the channel has had time to obtain suitable performance data before being recommended for closing.
    • Local Balance: Channels with local_balance greater than 0. This avoids recommending the closure of channels where no capital is currently committed on the node operator's side.
    • Efficiency Ratio: Channels with the lowest "Fees/Days X Sats" ratio. The list could display the top N lowest-performing channels (e.g., top 5 or 10).

Alternatives Considered

My current alternative solution requires the use of a separate shell script and Python script (refer to: https://github.com/racarr202/lndPoorPerformers). This solution is less convenient as it lacks native integration within the LND/LIT ecosystem.

Proposed Integration

This feature could be implemented as:

  • A new section within the terminal Dashboard underneath the Top Outbound/Top Inbound section AND/OR
  • A new lncli subcommand (e.g., lncli listpoorperformers).

Thank you for considering this enhancement.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions