LNbits, free and open-source lightning-network wallet/accounts system.
Go to file
dni ⚡ 27b9e8254c
feat: NWC Funding source #2579 (#2631)
* feat: nwc funding source

* implement paid_invoices_stream, fix for unsettled invoices where settled_at is present but None

* cancel pending_payments_lookup_task on cleanup

* Rename subscription_timeout_task to timeout_task

* ensure preimage is not None

* Improve readability, return failed status on expiration in get_payment_status, ensure result_type is checked after error (some implementations might not set a result_type on error)

* fetch account info when possible

* workaround possible race condition on some nwc service providers, improve performance of fallback by using payment_hash from bolt11 invoice

* fundle

* make format

* fix formatting

* fix C901 `_on_message` is too complex (21 > 16)

* format

* fix lint

* format

* fix tests/wallets/test_nwc_wallets.py:80:11: C901 `run` is too complex (17 > 16)

* fix padding

* fix documentation for _verify_event method

* refactoring and fixes

* Split NWCWallet - NWCConnection

* refactor class methods into helpers

* update bundle

* format

* catch NWCError failure codes

* format and fix

* chore: bundle

* add example

* typos

---------

Co-authored-by: Riccardo Balbo <riccardo0blb@gmail.com>
Co-authored-by: benarc <ben@arc.wales>
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2024-08-07 09:56:53 +02:00
.github fix: run cachix nix action for all branches (#2624) 2024-08-01 21:54:15 +02:00
docs feat: NWC Funding source #2579 (#2631) 2024-08-07 09:56:53 +02:00
lnbits feat: NWC Funding source #2579 (#2631) 2024-08-07 09:56:53 +02:00
nix add option to pass additional variables 2023-12-11 08:33:16 +01:00
tests feat: NWC Funding source #2579 (#2631) 2024-08-07 09:56:53 +02:00
tools refactor: add status column to apipayments (#2537) 2024-07-24 16:47:26 +03:00
.dockerignore chore: optimize Dockerfile (#2576) 2024-07-10 14:22:44 +02:00
.editorconfig add editorconfig config, fix issues (only whitespace changes) (#1958) 2023-09-25 11:06:25 +01:00
.env.example feat: NWC Funding source #2579 (#2631) 2024-08-07 09:56:53 +02:00
.gitignore FEAT: add PYPI python package release workflow on tag (#1628) 2024-04-17 10:53:57 +02:00
.pre-commit-config.yaml chore: update prettier (#2405) 2024-04-12 09:00:31 +02:00
.prettierignore chore: use prettier for all of the codebase (#2466) 2024-04-25 11:13:08 +02:00
.prettierrc FIX: prettier formatting (#1395) 2023-01-23 14:23:30 +01:00
Dockerfile chore: optimize Dockerfile (#2576) 2024-07-10 14:22:44 +02:00
flake.lock [FEAT] Auth, Login, OAuth, create account with username and password #1653 (#2092) 2023-12-12 11:38:19 +01:00
flake.nix chore: update python deps (#2586) 2024-07-16 07:59:04 +02:00
LICENSE Update LICENSE 2022-01-30 08:27:05 -03:00
Makefile test: fix flaky regtest (#2616) 2024-07-31 11:41:19 +02:00
package-lock.json fix: npm packages with high severity issue (#2551) 2024-06-17 17:17:53 +02:00
package.json feat: improve on extension page layout (#2558) 2024-06-26 13:07:13 +02:00
poetry.lock feat: add Breez SDK wallet (#1897) 2024-08-06 10:06:21 +02:00
pyproject.toml feat: add Breez SDK wallet (#1897) 2024-08-06 10:06:21 +02:00
README.md [chore] Update legend to demo (#2505) 2024-05-16 10:05:22 +02:00

phase: beta license-badge docs-badge PRs: welcome Lightning network wallet

The world's most powerful suite of bitcoin tools.

Run for yourself, for others, or as part of a stack.

LNbits is beta, for responsible disclosure of any concerns please contact an admin in the community chat.

LNbits is a Python server that sits on top of any funding source. It 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 the LNbits extension framework
  • Part of a development stack via LNbits API
  • Fallback wallet for the LNURL scheme
  • Instant wallet for LN demonstrations

LNbits can run on top of almost all Lightning funding sources.

See LNbits manual for more detailed documentation about each funding source.

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 funding sources for LNbits.

Running LNbits

Test on our demo server demo.lnbits.com, or on lnbits.com software as a service, where you can spin up an LNbits instance for 21sats per hr.

See the install guide for details on installation and setup.

LNbits account system

LNbits is packaged with tools to help manage funds, such as a table of transactions, line chart of spending, export to csv. Each wallet also comes with its own API keys, to help partition the exposure of your funding source.

LNbits extension universe

Extend YOUR LNbits to meet YOUR needs.

All non-core features are installed as extensions, reducing your code base and making your LNbits unique to you. Extend your LNbits install in any direction, and even create and share your own extensions.

LNbits API

LNbits has a powerful API, many projects use LNbits to do the heavy lifting for their bitcoin/lightning services.

LNbits node manager

LNbits comes packaged with a light node management UI, to make running your node that much easier.

LNbits across all your devices

As well as working great in a browser, LNbits has native IoS and Android apps as well as a chrome extension. So you can enjoy the same UI across ALL your devices.

Tip us

If you like this project send some tip love!