Fork of LndHub with some fixes, as well as additions for lnurl-pay support
Go to file
Basti 9b81cc6287
Store and return invoice memo
2022-03-01 21:54:52 -06:00
.github/workflows Fix: Fix actions for Umbrel 2021-04-29 13:39:32 +01:00
class Store and return invoice memo 2022-03-01 21:54:52 -06:00
controllers Store and return invoice memo 2022-03-01 21:54:52 -06:00
doc Last .md style improvement 2021-09-28 21:50:45 +01:00
scripts ref 2021-10-28 14:25:51 +01:00
static Fixed progress bar css for small values 2021-04-08 19:27:31 +01:00
templates REF: Change title 2021-02-18 12:11:01 +00:00
utils Update dependencies (#121) 2021-01-04 12:49:42 +00:00
.babelrc Update .babelrc 2020-12-04 18:59:57 +00:00
.eslintrc Umbrel support (#141) 2021-02-24 15:17:22 +00:00
.gitignore INIT 2018-12-02 22:17:02 +00:00
Dockerfile Update node from 12-buster to 16-bullseye 2021-09-26 12:57:47 +01:00
LICENSE MIT License added see #40 2019-11-04 14:23:43 +00:00 Update 2021-09-22 19:28:58 +01:00
bitcoin.js Umbrel support (#141) 2021-02-24 15:17:22 +00:00
btc-decoder.js Umbrel support (#141) 2021-02-24 15:17:22 +00:00
config.js move default in varible name to comment 2021-09-22 13:46:51 +01:00
index.js index.js: add HOST environment argument 2021-09-22 13:54:34 +01:00
lightning.js Umbrel support (#141) 2021-02-24 15:17:22 +00:00
package-lock.json fix: upgrade express-rate-limit from 5.3.0 to 5.4.1 2021-10-27 20:13:20 +01:00
package.json fix: upgrade express-rate-limit from 5.3.0 to 5.4.1 2021-10-27 20:13:20 +01:00
rpc.proto Update dependencies (#121) 2021-01-04 12:49:42 +00:00 OPS 2020-08-12 16:45:29 +01:00


Wrapper for Lightning Network Daemon (lnd). It provides separate accounts with minimum trust for end users.


You can use those guides or follow instructions below:

git clone
cd LndHub
npm i

Install bitcoind, lnd, and redis. Edit LndHub's config.js to set it up correctly. Copy the files admin.macaroon (for Bitcoin mainnet, usually stored in ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon) and tls.cert (usually stored in ~/.lnd/tls.cert) into the root folder of LndHub.

LndHub expects LND's wallet to be unlocked, if not — it will attempt to unlock it with the password stored in config.lnd.password. Don't forget to configure disk-persistence for redis (e.g., you may want to set appendonly to yes in redis.conf (see for more information).

If you have no bitcoind instance, for example if you use neutrino, or you have no bitcoind wallet, for example if you use LND for wallet managment, you can remove the bitcoind settings from config.js. Please note that this feature is limited to Bitcoin, so you can't use it if you use any other cryptocurrency with LND (e.g., Litecoin).

Deploy to Heroku

Add config vars :

  • CONFIG : json serialized config object
  • MACAROON: hex-encoded admin.macaroon
  • TLSCERT: hex-encoded tls.cert

Run in docker

LndHub is available on Docker Hub as bluewalletorganization/lndhub. Please note that this requires a separate instance of redis and LND and optionally, bitcoind. You can also view Umbrel's implementation using docker-compose here.

Reference client implementation

Can be used in ReactNative or Nodejs environment


Acceptance tests are in


Responsible disclosure

Found critical bugs/vulnerabilities? Please email them to Thanks!