2019-12-16 15:07:21 +00:00
![Lightning network wallet ](https://i.imgur.com/arUWZbH.png )
2019-12-13 14:21:32 +00:00
# LNbits
2019-12-16 15:07:21 +00:00
Simple Python lightning-network wallet/accounts system. Use https://lnbits.com, or run your own LNbits server!
LNbits is a very simple server that sits on top of a 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!
* Fallback wallet for the LNURL scheme
* Instant wallet for LN demonstrations
2019-12-09 21:39:02 +00:00
2019-12-16 15:07:21 +00:00
The wallet can run on top of any lightning-network funding source such as LND, lntxbot, paywall, opennode, etc
2019-12-13 14:51:40 +00:00
2019-12-16 15:07:21 +00:00
LNbits is still in BETA. Please report any vulnerabilities responsibly
## 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..
2019-12-09 21:39:02 +00:00
2019-12-16 15:07:21 +00:00
![Lightning network wallet ](https://i.imgur.com/Sd4ri3T.png )
2019-12-09 21:39:02 +00:00
2019-12-16 15:07:21 +00:00
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 ](https://i.imgur.com/ABruzAn.png )
2019-12-13 14:08:53 +00:00
2019-12-13 14:15:28 +00:00
## LNbits as an LNURL-withdraw fallback
2019-12-16 15:07:21 +00:00
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.
2019-12-13 14:15:28 +00:00
2019-12-13 14:18:42 +00:00
![lnurl fallback ](https://i.imgur.com/CPBKHIv.png )
2019-12-13 14:21:32 +00:00
https://github.com/btcontract/lnurl-rfc/blob/master/spec.md
2019-12-13 14:08:53 +00:00
2019-12-13 14:25:17 +00:00
Adding ** /lnurlwallet?lightning="LNURL-WITHDRAW"** will trigger a withdraw that builds an LNbits wallet.
2019-12-16 15:07:21 +00:00
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.
2019-12-13 14:34:21 +00:00
![lnurl ATM ](https://i.imgur.com/Gi6bn3L.jpg )
2019-12-13 14:08:53 +00:00
2019-12-16 15:07:21 +00:00
## 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 ](https://i.imgur.com/SF5KoIe.png )
# Running LNbits locally
Download this repo
2019-12-18 11:02:00 +00:00
LNbits uses [Flask ](http://flask.pocoo.org/ ).
Feel free to contribute to the project.
Application dependencies
------------------------
The application uses [Pipenv][pipenv] to manage Python packages.
While in development, you will need to install all dependencies:
$ pipenv shell
$ pipenv install --dev
Running the server
------------------
2019-12-16 15:07:21 +00:00
2019-12-18 11:02:00 +00:00
$ flask run
2019-12-16 15:07:21 +00:00
2019-12-18 11:02:00 +00:00
There is an environment variable called `FLASK_ENV` that has to be set to `development`
if you want to run Flask in debug mode with autoreload
2019-12-16 15:07:21 +00:00
2019-12-18 11:02:00 +00:00
[pipenv]: https://docs.pipenv.org/#install-pipenv-today
2019-12-16 15:07:21 +00:00
2019-12-13 14:18:42 +00:00
# Tip me
If you like this project and might even use or extend it, why not send some tip love!
https://paywall.link/to/f4e4e