No description
Find a file
Elle 9907dabc9f
Some checks failed
CI / frontend tests on macOS-latest (push) Has been cancelled
CI / frontend tests on ubuntu-latest (push) Has been cancelled
CI / frontend tests on windows-latest (push) Has been cancelled
CI / backend build on macOS-latest (push) Has been cancelled
CI / backend build on ubuntu-latest (push) Has been cancelled
CI / backend build on windows-latest (push) Has been cancelled
CI / cross compilation (push) Has been cancelled
CI / cross compilation-1 (push) Has been cancelled
CI / cross compilation-2 (push) Has been cancelled
CI / RPC proto compilation check (push) Has been cancelled
CI / check commits (push) Has been cancelled
CI / Sqlc check (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / run unit tests (push) Has been cancelled
CI / run unit tests-1 (push) Has been cancelled
CI / run unit tests-2 (push) Has been cancelled
CI / run unit tests-3 (push) Has been cancelled
CI / build itest binaries (push) Has been cancelled
CI / check release notes updated (push) Has been cancelled
CI / integration test (push) Has been cancelled
CI / integration test-1 (push) Has been cancelled
CI / integration test-2 (push) Has been cancelled
Merge pull request #1359 from ellemouton/kvdb-sql-mig-lnd-ready-timeout
multi: wait for lnd with a configurable timeout during the SQL migration
2026-07-29 16:19:36 -07:00
.gemini .gemini: add gemini code assist config 2025-07-09 10:38:33 +02:00
.github Merge pull request #1306 from erickcestari/harden-ci-workflow 2026-07-27 11:59:27 +02:00
.vscode vscode: replace deprecated boolean with string 2024-11-07 13:31:30 +01:00
accounts accounts: implement AccountPayments RPC handler 2026-07-22 14:06:26 -05:00
app proto: add AccountPayments to Accounts service 2026-07-22 14:06:25 -05:00
autopilotserver multi: reformat long lines for readability 2025-12-09 16:12:03 +00:00
autopilotserverrpc build(deps): bump golang.org/x/net in /autopilotserverrpc 2026-07-28 10:09:22 +00:00
cmd litcli: add payments command to accounts 2026-07-22 14:06:26 -05:00
db multi: wait for lnd with a configurable timeout during SQL migration 2026-07-29 15:47:47 -07:00
docs docs: add release note for the lnd-ready migration timeout 2026-07-29 15:47:47 -07:00
firewall firewall: optimize CryptoRandIntn with sync.Pool 2026-07-21 12:04:33 +00:00
firewalldb build: bump sqldb/v2 to v2.0.0 2026-07-10 19:34:19 -03:00
itest itest: add test for super macaroon auto-bake 2026-07-27 06:08:48 -05:00
litrpc build(deps): bump golang.org/x/net from 0.53.0 to 0.55.0 in /litrpc 2026-07-28 10:09:41 +00:00
macaroons macaroons: add super macaroon helpers 2026-07-27 06:08:48 -05:00
make build: bump go to v1.25.11 2026-07-10 19:24:26 -03:00
perms build(deps): bump golang.org/x/crypto from 0.50.0 to 0.52.0 in /perms 2026-07-28 10:09:28 +00:00
proto proto: add AccountPayments to Accounts service 2026-07-22 14:06:25 -05:00
queue terminal+queue: add concurrent error queue 2022-10-15 09:05:04 +02:00
rpcmiddleware multi: reformat long lines for readability 2025-12-09 16:12:03 +00:00
rules rules: improve channel-restriction resilience 2026-02-04 13:31:09 +01:00
scripts db: remove kvdb to sql migration from dev db stream 2026-06-08 11:23:58 +02:00
session build: bump sqldb/v2 to v2.0.0 2026-07-10 19:34:19 -03:00
status multi: prepare for new non-constant string rule 2025-09-18 12:05:28 +02:00
subservers subservers: remove dependency on tap.UniversePublicAccessStatus* 2026-02-12 16:06:44 +00:00
tools build: bump go to v1.25.11 2026-07-10 19:24:26 -03:00
.custom-gcl.yml makefile+tools: add custom 'll' linter for extended line length checks 2025-12-09 16:12:03 +00:00
.dockerignore cmd: rename binary to litd 2020-07-21 22:10:33 +02:00
.editorconfig add .editorconfig 2025-12-09 12:45:03 +00:00
.gitattributes chore: fix generated code being included in language stats 2020-12-11 18:00:16 -05:00
.gitignore Merge pull request #1047 from ViktorTigerstrom/2025-04-migrate-accounts 2025-05-19 17:14:50 +02:00
.golangci.yml sqlcmig6: add sqlcmig6 package 2026-05-14 11:37:55 +02:00
.prettierrc docs: reformat readme markdown 2020-06-13 00:39:59 -04:00
app.go multi: remove legacy // +build tag Lines 2025-11-25 01:38:22 +01:00
app_noui.go multi: remove legacy // +build tag Lines 2025-11-25 01:38:22 +01:00
config.go multi: wait for lnd with a configurable timeout during SQL migration 2026-07-29 15:47:47 -07:00
config_dev.go terminal: remove DevConfig.Validate params 2026-06-08 11:23:58 +02:00
config_prod.go terminal: remove DevConfig.Validate params 2026-06-08 11:23:58 +02:00
config_test.go terminal: thread a context into postgresDatabaseExists 2026-06-16 21:45:47 +02:00
deps.go multi: remove legacy // +build tag Lines 2025-11-25 01:38:22 +01:00
dev.Dockerfile build: bump go to v1.25.11 2026-07-10 19:24:26 -03:00
Dockerfile build: bump go to v1.25.11 2026-07-10 19:24:26 -03:00
go.mod build(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 2026-07-27 08:47:11 +00:00
go.sum build(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 2026-07-27 08:47:11 +00:00
gzip.go multi: reformat long lines for readability 2025-12-09 16:12:03 +00:00
LICENSE docs: add MIT license 2021-07-16 18:27:27 -04:00
lnd_connection.go multi: split out LND connection from rpcProxy 2023-05-01 00:15:56 -07:00
lnd_ready.go terminal: gate wallet-ready status on lnd's actual RPC readiness 2026-07-16 09:53:44 +00:00
lnd_ready_test.go terminal: gate wallet-ready status on lnd's actual RPC readiness 2026-07-16 09:53:44 +00:00
log.go migstreams: rename package to migsets 2026-05-14 11:39:12 +02:00
Makefile build: bump go to v1.25.11 2026-07-10 19:24:26 -03:00
migration_prompt.go terminal: shut down on declined SQL migration 2026-06-16 20:49:23 +02:00
migration_prompt_test.go terminal: shut down on declined SQL migration 2026-06-16 20:49:23 +02:00
README.md docs: mention FreeBSD gmake requirement in README 2026-05-05 11:33:00 +05:30
rpc_proxy.go multi: prepare for new non-constant string rule 2025-09-18 12:05:28 +02:00
session_rpcserver.go multi: reformat long lines for readability 2025-12-09 16:12:03 +00:00
sqlc.yaml db/sqlc: add account related tables and queries 2025-01-29 16:37:20 +02:00
terminal.go terminal: auto-bake super macaroon on startup 2026-07-27 06:08:48 -05:00
version.go version: bump version to v0.17.0-alpha 2026-06-26 22:45:44 +02:00

Lightning Terminal (LiT)

CI

Lightning Terminal (LiT) is a browser-based interface for managing channel liquidity.

screenshot

Features

  • Visualize your channels and balances
  • Perform submarine swaps via the Lightning Loop service
  • Classify channels according to your node's operating mode
  • Run a single binary that integrates loopd, poold and faraday daemons all in one
  • Access a preview release of the Pool UI
  • Use Pool to earn sats by opening channels to those needing inbound liquidity

Installation

Download the latest binaries from the releases page.

Additionally, you can find detailed instructions on the docs.lightning.engineering page.

Execution

Run Lightning Terminal with a local lnd instance:

⛰  ./litd --uipassword=UP48lm4Vjqxy<change_this_or_you_will_get_robbed>

Visit https://localhost:8443 to access Terminal.

Note that a password with a minimum of 8 characters is required to run Lightning Terminal. In a production environment, it's recommended that you store this password as an environment variable to avoid it being recorded in the command history.

To use LiT with a remote lnd instance please follow these instructions. If you would like to replace your existing LND instance with the one integrated within LiT please see configuring Terminal.

LND

Note that LiT requires lnd to be built with all of its subservers and requires running at least v0.11.0. Download the latest official release binary or build lnd from source by following the installation instructions. If you choose to build lnd from source, use the following command to enable all the relevant subservers:

⛰  make install tags="signrpc walletrpc chainrpc invoicesrpc"

Interaction

If you plan to run LiT on a remote machine but access the web-interface from your computer you may not want to deal with self-signed certificate browser warnings. To avoid these warnings configure the HTTP server to use a certificate from Let's Encrypt. View the Let's Encrypt Configuration doc for instructions on how to configure this.

Upgrading

If you used command line arguments with previous versions then you don't need to change anything when upgrading.

To upgrade from v0.1.1-alpha or earlier simply create a lit.conf file in your LiT directory. The default location LiT uses depends on your operating system:

  • MacOS: ~/Library/Application Support/Lit/lit.conf
  • Linux: ~/.lit/lit.conf
  • Windows: ~/AppData/Roaming/Lit/lit.conf

Move all the configuration settings specific to LiT from lnd.conf to lit.conf and remove any previous LiT-specific customizations from the configuration settings in lnd.conf. Note that any section headers ( [ Example ]) in lit.conf should be removed or changed to comments ( # Example).

Usage

Read the walkthrough document to learn more about how to use LiT.

Troubleshooting

If you encounter any issues please see our troubleshooting guide.

Build from source

If youd prefer to compile from source code please follow these instructions.

Note for FreeBSD users: the Makefile requires GNU Make. Install it with pkg install gmake and use gmake in place of make (for example, gmake install).

Component Compatibility

This section describes version and mode compatibility across Lightning Terminal (LiT) and its component daemons.

LND Version Compatibility

LiT can operate in two modes: integrated and remote. Version compatibility between LiT and lnd matters only when running in remote mode. The lnd version bundled in integrated mode is always compatible.

Each LiT release should specify the minimum compatible lnd version in its GitHub release notes. If a release does not document compatibility, the required information is available in the archived compatibility table in docs/compatibility.md.

Compatibility With Additional Daemons

LiT also bundles several additional daemons: Faraday, Loop, Pool and Taproot Assets. Each can be configured as integrated, remote or disabled. This creates many possible configurations, and not all combinations are supported due to technical constraints.

The following table lists supported combinations:

lnd-mode=integrated lnd-mode=remote
faraday-mode=integrated X X
loop-mode=integrated X X
pool-mode=integrated X X
taproot-assets-mode=integrated X X
faraday-mode=remote X
loop-mode=remote X
pool-mode=remote X
taproot-assets-mode=remote X
faraday-mode=disable X X
loop-mode=disable X X
pool-mode=disable X X
taproot-assets-mode=disable X X
lnd running in "stateless init" mode X

NOTE: Taproot Assets Channel functionality is only available when both lnd and tapd are running in the same process (by setting both lnd-mode=integrated and taproot-assets-mode=integrated). Remote mode support will be added in the future.