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).
Warning LDK Server is still under active development and is not ready for production use. Until the v0.1 release, the persisted data model may change in non-backwards-compatible ways. Do not run it with funds you cannot afford to lose.
ldk-server: daemon that runs the Lightning node and exposes the APIldk-server-cli: CLI client for the server APIldk-server-client: Rust client library for authenticated TLS gRPC callsldk-server-grpc: generated protobuf and shared gRPC typesldk-server-mcp: stdio MCP bridge exposing unaryldk-serverRPCs as MCP tools
-
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/.
The workspace also includes ldk-server-mcp, a stdio Model Context Protocol server
that lets MCP-compatible clients call the unary ldk-server RPC surface as tools.
Run it directly from the workspace:
cargo run -p ldk-server-mcp -- --config /path/to/config.tomlIt is covered by both crate-local tests and an e2e-tests sanity suite against a live ldk-server instance.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines on building, testing, code style, and development workflow.