Repolode
lightningnetwork

lightningnetwork/lnd

A Go implementation of a Lightning Network node that manages channels, routes payments and exposes gRPC and REST APIs.

Stars
8,203
Forks
2,308
Open issues
885
Last commit
10 hours ago

What is it?

lnd is a full Lightning Network node implementation. It can open and close payment channels, manage every channel state including exceptional cases, maintain a validated view of the channel graph, find paths through the network, forward incoming payments, and send onion-encrypted outgoing payments. It also supports updating advertised fee schedules and optional automatic channel management.

The node can run on several Bitcoin chain backends: btcd as a full node, bitcoind, or neutrino as an experimental light client. It is built on the btcsuite Bitcoin libraries and also exports a set of reusable Lightning-related Go libraries. The project conforms to BOLT specifications 1 through 11, excluding BOLT 6.

Applications interact with the node through two RPC interfaces, an HTTP REST API and a gRPC service. The project is marked beta, and its APIs are not yet stable.

Key features

  • 01Opens and closes Lightning payment channels and manages all channel states.
  • 02Maintains a validated channel graph and finds payment routes.
  • 03Sends onion-encrypted payments and forwards incoming payments.
  • 04Supports btcd, bitcoind and neutrino as chain backends.
  • 05Exposes gRPC and HTTP REST APIs for application development.
  • 06Implements BOLT 1 through 11 specifications, excluding BOLT 6.

Use cases

  • Running a routing node that earns fees by forwarding Lightning payments.
  • Building a wallet or payment service on top of Lightning via gRPC or REST.
  • Accepting and sending instant Bitcoin micropayments over Lightning channels.

Quick start

  1. 1

    Read the build-from-source installation instructions in docs/INSTALL.md

  2. 2

    Or run lnd from Docker using the instructions in docs/DOCKER.md

Things to know

  • The README describes lnd as beta software, and loss of funds is possible if mainnet operational guidelines are ignored.
  • The exported RPC APIs are not yet stable and may change drastically.

Topics

FAQ

What is lnd?
A Go implementation of a Lightning Network node that manages channels, routes payments and exposes gRPC and REST APIs. lnd is a full Lightning Network node implementation. It can open and close payment channels, manage every channel state including exceptional cases, maintain a validated view of the channel graph, find paths through the network, forward incoming payments, and send onion-encrypted outgoing payments. It also supports updating advertised fee schedules and optional automatic channel management.
Is lnd free to use? What license does it have?
lnd is open source under the MIT license. Check the license terms before using it in commercial products.
Is lnd still maintained?
Actively maintained. The last commit to lnd was on Oct 21, 2026.
What can I use lnd for?
Running a routing node that earns fees by forwarding Lightning payments. Building a wallet or payment service on top of Lightning via gRPC or REST. Accepting and sending instant Bitcoin micropayments over Lightning channels.
How do I install lnd?
Read the build-from-source installation instructions in docs/INSTALL.md Or run lnd from Docker using the instructions in docs/DOCKER.md
Where can I get lnd?
The source code and installation instructions are on GitHub: https://github.com/lightningnetwork/lnd

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects