[Grant DRAFT] Integrated lightning wallet plugin
BTCPay Server already include an interface to easily send money from your own Bitcoin Wallet on chain. However, for lightning, we are relying on third party project such as RTL (Ride the Lightning).
RTL only supports LND and Core Lightning and is minimally maintained. As a result, users running other Lightning implementations — or seeking simpler workflows — are increasingly pushed toward custodial services such as Blink.
BTCPay Server now supports Phoenixd as a backend in its Docker deployment. Because RTL does not support Phoenixd, ACINQ developed a plugin to enable basic sending functionality directly from the node (@armelinw). While functional, this approach remains fragmented and limited.
BTCPay Server already includes an abstraction layer over multiple Lightning implementations. Building a minimal native wallet management interface on top of this layer would provide a consistent, non-custodial user experience across backends.
While Lightning payouts can technically be performed using the existing payout system, this workflow is unintuitive and unsuitable for routine wallet management.
It has therefore been decided that this functionality should be developed as an external plugin rather than included in BTCPay Server Core.
Project goal
Develop a Lightning wallet management plugin that allows users to:
- Send Lightning payments using the store’s configured Lightning backend
- Connect to Lightning peers
- Open and manage channels
The features should be limit to what is exposed by our abstraction.
Supported implementations
The plugin should function across a broad range of Lightning backends, including:
- LND
- Core Lightning (CLN)
- Phoenixd
- Blink
Not all Lightning implementations support every operation. The plugin must detect backend capabilities and degrade gracefully when features are unavailable.
The plugin itself should not contains backend specific code. BTCPay Server Core may need to be adapted in order to achieve the goals of this plugin.
Outside of scope
- Transaction history and accounting interface
Source: btcpayserver/btcpayserver