Skip to content

LDK Server is a fully-functional Lightning node in daemon form.

Notifications You must be signed in to change notification settings

lightningdevkit/ldk-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0e18aa7 Â· Mar 31, 2025
Mar 20, 2025
Mar 18, 2025
Mar 6, 2025
Mar 21, 2025
Mar 28, 2025
Jul 19, 2024
Mar 21, 2025
Nov 25, 2024
Mar 21, 2025
Jul 19, 2024

Repository files navigation

LDK Server

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).

Features

  • Out-of-the-Box Lightning Node:

    • Deploy a Lightning Network node with minimal configuration, no coding required.
  • API-First Design:

    • Exposes a well-defined API using Protobuf, allowing seamless integration with HTTP-clients or applications.
  • 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.

Project Status

🚧 Work in Progress:

  • APIs Under Development: Expect breaking changes as the project evolves.
  • Potential Bugs and Inconsistencies: While progress is being made toward stability, unexpected behavior may occur.
  • Improved Logging and Error Handling Coming Soon: Current error handling is rudimentary (specially for CLI), and usability improvements are actively being worked on.
  • Pending Testing: Not tested, hence don't use it for production!

We welcome your feedback and contributions to help shape the future of LDK Server!

Configuration

Refer ./ldk-server/ldk-server-config.toml to see available configuration options.

Building

git clone https://github.com/lightningdevkit/ldk-server.git
cargo build

Running

cargo run --bin ldk-server ./ldk-server/ldk-server.config

Interact with the node using CLI:

./target/debug/ldk-server-cli -b localhost:3002 onchain-receive # To generate onchain-receive address.
./target/debug/ldk-server-cli -b localhost:3002 help # To print help/available commands.

About

LDK Server is a fully-functional Lightning node in daemon form.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages