LDK Server is a fully-functional Lightning node in daemon form, built on top of LDK Node, which itself provides a powerful abstraction over the Lightning Development Kit (LDK) and uses a built-in Bitcoin Development Kit (BDK) wallet.
The primary goal of LDK Server is to provide an efficient, stable, and API-first solution for deploying and managing a Lightning Network node. With its streamlined setup, LDK Server enables users to easily set up, configure, and run a Lightning node while exposing a robust, language-agnostic API via Protocol Buffers (Protobuf).
-
Out-of-the-Box Lightning Node:
- Deploy a Lightning Network node with minimal configuration, no coding required.
-
API-First Design:
- Exposes a well-defined gRPC API using Protobuf, allowing seamless integration with any language.
-
Powered by LDK:
- Built on top of LDK-Node, leveraging the modular, reliable, and high-performance architecture of LDK.
-
Effortless Integration:
- Ideal for embedding Lightning functionality into payment processors, self-hosted nodes, custodial wallets, or other Lightning-enabled applications.
Work in Progress:
- APIs are under development. Expect breaking changes as the project evolves.
- Not tested for production use.
- We welcome your feedback and contributions to help shape the future of LDK Server!
git clone https://github.com/lightningdevkit/ldk-server.git
cd ldk-server
cargo build --release
cp contrib/ldk-server-config.toml my-config.toml # edit with your settings
./target/release/ldk-server my-config.tomlSee Getting Started for a full walkthrough.
| Document | Description |
|---|---|
| Getting Started | Install, configure, and run your first node |
| Configuration | All config options, environment variables, and Bitcoin backend tradeoffs |
| API Guide | gRPC transport, authentication, and endpoint reference |
| Tor | Connecting to and receiving connections over Tor |
| Operations | Production deployment, backups, and monitoring |
The canonical API definitions are in ldk-server-grpc/src/proto/. A ready-made
Rust client library is provided in ldk-server-client/.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines on building, testing, code style, and development workflow.