lnd is a complete implementation of a Lightning Network node written in Go.
The Lightning Network enables fast, low-cost payments on Bitcoin by allowing transactions to occur off-chain through payment channels. lnd solves the problem of participating in this network by providing a full daemon implementation that handles channel creation and closure, manages all channel states, maintains an authenticated and validated channel graph, performs pathfinding, forwards payments, and sends onion-encrypted payments across the network. The tool supports multiple pluggable backend chain services including full nodes and light clients, and exports reusable Lightning Network libraries built on the btcsuite Bitcoin libraries.
Developers building payment applications on Bitcoin should choose lnd if they need a standards-compliant Lightning Network implementation. The project fully conforms to the Lightning Network specification (BOLTs), covering base protocol, channel management, transaction formats, onion routing, on-chain handling, node discovery, encrypted transport, feature flags, DNS bootstrap, and invoice protocols. The daemon exposes both HTTP REST and gRPC APIs for application development, though the README notes these APIs are not yet stable and may change significantly. Comprehensive developer documentation, guides, and example applications are available through the project's documentation site, and an active community Slack channel supports protocol and application developers.
The project maintains steady development activity with regular contributions across core protocol implementation and infrastructure. Pull requests receive consistent review attention with discussion of technical tradeoffs and specification compliance. The codebase shows active maintenance of dependencies and integration with evolving Bitcoin and Lightning specifications. Contributors are encouraged to begin with code review participation before submitting their own changes, indicating a structured approach to onboarding new developers.