Skip to content

feat: add ldk-server lightning provider#672

Draft
benthecarman wants to merge 1 commit intoapotdevin:masterfrom
benthecarman:ldk-server
Draft

feat: add ldk-server lightning provider#672
benthecarman wants to merge 1 commit intoapotdevin:masterfrom
benthecarman:ldk-server

Conversation

@benthecarman
Copy link
Copy Markdown

@benthecarman benthecarman commented Mar 20, 2026

Adds ldk-server as a Lightning provider, enabling ThunderHub to manage LDK-based Lightning nodes alongside LND. The provider communicates with ldk-server over HTTP using protobuf serialization and HMAC-SHA256 authentication.

Supports node info, channels (open/close/config), on-chain wallet, payments (bolt11/keysend), invoices, peers, forwards, message signing, network graph queries, routing fee configuration, and invoice decoding. Real-time event notifications (invoice paid, payment sent, forwards) are available via optional RabbitMQ integration.

Account configuration uses the existing YAML config with type: ldk-server, serverUrl, and authToken (hex-encoded API key). Optional fields include tlsCertPath for TLS certificate verification and rabbitmqUrl/rabbitmqExchangeName for real-time events.

See docs/LDK_SERVER_SETUP.md for the full setup guide and docs/LDK_SERVER_GAPS.md for a detailed breakdown of features that ldk-server doesn't yet support (closed channel history, chain transactions, UTXOs, payment destinations, backups).

I tested basically everything I could, seems like it all works besides what is highlighted in the gaps file.

Draft as we still iron out some ldk-server things

Implement LightningProvider for ldk-server, enabling ThunderHub to
manage LDK-based Lightning nodes. Uses protobuf over HTTP with
HMAC-SHA256 authentication.

Supports: wallet info, channels, chain balance, payments, invoices,
peers, forwards, message signing, network graph, and routing fees.

Integrates with ldk-server's RabbitMQ events for real-time invoice,
payment, and forward notifications via SSE.

Includes docs/LDK_SERVER_GAPS.md detailing every missing RPC and
field for full feature parity.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@apotdevin
Copy link
Copy Markdown
Owner

IMO the rabbitmq events are nice but I would keep this PR simpler and have that be a future change

@benthecarman
Copy link
Copy Markdown
Author

IMO the rabbitmq events are nice but I would keep this PR simpler and have that be a future change

We are likely changing out rabbitmq with SSE, would that be better?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants