Go to file
fiatjaf 9185342c72 simplify environment variables required.
instead of multiple keys/macaroons with different permissions we request only one.
if someone wants to use lnbits with an invoice macaroon they're free to do it and
we will just fail on 'pay' methods, as before.

this also grandfathers the previous environment variables names so everything keeps
working without people having to change their setups.

in the meantime some bugs with lntxbot and c-lightning were fixed and the `requests`
dependency was eliminated because I can't organize myself into meaningful chunks of
changes.
2020-10-08 16:03:21 -03:00
.github fix: revert default python version to 3.7 in Pipfile, closes #85 2020-09-04 21:19:06 +02:00
docs hypercorn -k trio 2020-10-04 23:09:11 -03:00
lnbits simplify environment variables required. 2020-10-08 16:03:21 -03:00
tests migrate to trio so c-lightning sockets stop hanging. 2020-10-04 12:06:20 -03:00
.editorconfig refactor: decorators, models and more broken bits 2020-03-04 23:11:15 +01:00
.env.example simplify environment variables required. 2020-10-08 16:03:21 -03:00
.gitignore poor man's flask-assets. 2020-09-15 15:54:05 -03:00
.prettierrc apply prettier to everything. 2020-05-03 13:55:17 -03:00
app.json fix: lnbits.com deploy 2020-09-28 23:49:11 +02:00
Dockerfile hypercorn -k trio 2020-10-04 23:09:11 -03:00
LICENSE Create LICENSE 2019-12-17 21:52:52 +00:00
Makefile poor man's flask-assets. 2020-09-15 15:54:05 -03:00
package-lock.json Improve setup instructions and README 2020-06-12 20:58:37 +02:00
package.json update prettier to 2.1.1 2020-09-14 09:14:51 -03:00
Pipfile simplify environment variables required. 2020-10-08 16:03:21 -03:00
Pipfile.lock simplify environment variables required. 2020-10-08 16:03:21 -03:00
Procfile hypercorn -k trio 2020-10-04 23:09:11 -03:00
pyproject.toml refactor: add some dev files and black original code 2019-12-13 17:56:19 +01:00
pytest.ini migrate to trio so c-lightning sockets stop hanging. 2020-10-04 12:06:20 -03:00
README.md Moved install guide to more prominent position 2020-09-08 09:30:23 +01:00
requirements.txt simplify environment variables required. 2020-10-08 16:03:21 -03:00

LNbits

github-tests-badge github-mypy-badge codecov-badge license-badge docs-badge

Lightning network wallet

LNbits v0.1 BETA, free and open-source lightning-network wallet/accounts system

Use lnbits.com, or run your own LNbits server!

LNbits is a very simple Python server that sits on top of any funding source, and can be used as:

  • Accounts system to mitigate the risk of exposing applications to your full balance, via unique API keys for each wallet
  • Extendable platform for exploring lightning-network functionality via LNbits extension framework
  • Part of a development stack via LNbits API
  • Fallback wallet for the LNURL scheme
  • Instant wallet for LN demonstrations

The wallet can run on top of any lightning-network funding source, currently there is support for LND, CLightning, Lntxbot, LNpay, OpenNode, with more being added regularily.

See lnbits.org for more detailed documentation.

Checkout the LNbits YouTube video series.

LNbits is inspired by all the great work of opennode.com, and in particular lnpay.co. Both work as excellent funding sources for LNbits.

Running LNbits locally

See the development docs for details on installation and setup.

LNbits as an account system

LNbits is packaged with tools to help manage funds, such as a table of transactions, line chart of spending, export to csv + more to come..

Lightning network wallet

Each wallet also comes with its own API keys, to help partition the exposure of your funding source.

(LNbits M5StackSats available here https://github.com/arcbtc/M5StackSats)

lnurl ATM

LNbits as an LNURL-withdraw fallback

LNURL has a fallback scheme, so if scanned by a regular QR code reader it can default to a URL. LNbits exploits this to generate an instant wallet using the LNURL-withdraw.

lnurl fallback

Using lnbits.com/?lightning="LNURL-withdraw" will trigger a withdraw that builds an LNbits wallet. Example use would be an ATM, which utilises LNURL, if the user scans the QR with a regular QR code scanner app, they will stilll be able to access the funds.

lnurl ATM

LNbits as an insta-wallet

Wallets can be easily generated and given out to people at events (one click multi-wallet generation to be added soon). "Go to this website", has a lot less friction than "Download this app".

lnurl ATM

Tip me

If you like this project and might even use or extend it, why not send some tip love!