Repolode
ElementsProject

ElementsProject/lightning

A standard-compliant Lightning Network node implementation in C, run as the lightningd daemon and controlled over JSON-RPC.

Stars
3,105
Forks
1,043
Open issues
429
Last commit
2 days ago

What is it?

Core Lightning (CLN) is an implementation of the Lightning Network protocol for Bitcoin, written in C and maintained by Blockstream. It runs as a node daemon, lightningd, that opens and manages payment channels, creates and pays invoices, and connects to other lightning nodes. It works on Linux and macOS and requires a locally or remotely running bitcoind (version 25.0 or above) that is fully synced.

The node is controlled through a JSON-RPC 2.0 interface exposed over a Unix domain socket, with a lightning-cli tool and a Python client library available. Its functionality can be extended with plugins. Installation is possible from precompiled binaries, Docker images, or source. The project recommends starting on testnet or regtest before using mainnet.

The repository also covers operational topics such as pruned bitcoind nodes, which can cause synchronization to stall if blocks are missed, and optional encryption of the HD wallet seed via the --encrypted-hsm option.

Key features

  • 01Implements the Lightning Network protocol with a focus on spec compliance
  • 02Controlled via JSON-RPC 2.0 over a Unix domain socket and the lightning-cli tool
  • 03Supports opening channels, creating invoices, and paying BOLT11 invoices
  • 04Extensible through a plugin system
  • 05Optional encryption of the HD wallet seed

Use cases

  • Running a Lightning node to send and receive Bitcoin payments
  • Building payment features or services on top of a Lightning node via its JSON-RPC API
  • Developing custom Lightning plugins or experimenting on regtest networks

Quick start

  1. 1

    Install a pre-compiled binary from the GitHub releases page

  2. 2

    Start bitcoind and wait until it is fully synced

    bitcoind -daemon
  3. 3

    Start lightningd on mainnet with debug logging

    lightningd --network=bitcoin --log-level=debug
  4. 4

    Generate a new on-chain address to fund your node

    lightning-cli newaddr

Things to know

  • Only works on Linux and macOS.
  • Requires a locally or remotely running bitcoind (version 25.0 or above) that is fully synced and relays transactions.
  • The license is not clearly identified in the project metadata.

In collections

Topics

FAQ

What is lightning?
A standard-compliant Lightning Network node implementation in C, run as the lightningd daemon and controlled over JSON-RPC. Core Lightning (CLN) is an implementation of the Lightning Network protocol for Bitcoin, written in C and maintained by Blockstream. It runs as a node daemon, lightningd, that opens and manages payment channels, creates and pays invoices, and connects to other lightning nodes. It works on Linux and macOS and requires a locally or remotely running bitcoind (version 25.0 or above) that is fully synced.
Is lightning free to use? What license does it have?
lightning is open source under the Other license. Check the license terms before using it in commercial products.
Is lightning still maintained?
Actively maintained. The last commit to lightning was on Nov 5, 2026.
What can I use lightning for?
Running a Lightning node to send and receive Bitcoin payments Building payment features or services on top of a Lightning node via its JSON-RPC API Developing custom Lightning plugins or experimenting on regtest networks
How do I install lightning?
Install a pre-compiled binary from the GitHub releases page Start bitcoind and wait until it is fully synced: bitcoind -daemon Start lightningd on mainnet with debug logging: lightningd --network=bitcoin --log-level=debug Generate a new on-chain address to fund your node: lightning-cli newaddr
Where can I get lightning?
The source code and installation instructions are on GitHub: https://github.com/ElementsProject/lightning

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

Related projects

A self-custodial Android Bitcoin wallet covering on-chain, Lightning, Ark, Spark, and Liquid, with privacy and customization focus.

Security#bitcoin#android#lightning
735KotlinMITWell maintainedUpdated 2 days ago