-
Notifications
You must be signed in to change notification settings - Fork 107
Description
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.