Skip to content

LNbits Extensions

arbadacarba edited this page Oct 5, 2023 · 118 revisions

decentralize

Installable Extensions and their decentralization came to life thanks to incredible motorina0. Like WordPress, we will maintain a vetted collection of extensions, but each user is also free to install existing 3rd party ones - and to create own LNbits extensions. The extension manifest is on a public repo anyone can submit to. Each extension is from now on pulled from its own repo when you install them explicitely (rather than all being packaged into LNbits core), for a slim and more secure LNbits. All vetted extensions are verified by a hash checksum. To understand the differences between the SuperUser, Admin-Users and plain Pleb accounts we made a whole chapter about them here.


Install Extensions

The LNbits Admin UI lets you change LNbits settings via the LNbits frontend. It is disabled/not in the config by default and the first time you set the enviroment variable LNBITS_ADMIN_UI=true in the .env the settings are initialized and saved to the database and will be used (as long the UI is enabled). You will find the .env file within your lnbits/ or lnbits/apps/data folder. Since the .env is a systemfile you need to extend the normal listing view to ls -a and then open it with sudo nano lnbits.env (or whatever it is called in your implementation, see ff).

On Raspi youll find the file in /home/lnbits/lnbits and open it there with sudo nano .env. Save, quit and restart LNbits with sudo systemctl restart lnbits. After this the file .superuser will be generated within the same directory. Open it and copy the id in there. You then need to put it right https://www.yourdomain.com/usr=<here>

On MyNode you can activated the Admin-UI within /mnt/hdd/mynode/lnbits/ On restart of LNbits you will find a new file named ".super_user" containing the superuser-ID in the lnbits folder. Demo video on how to install and activate a new extension or read here.

On Umbrel you can access the SuperUser page of LNbits at umbrel.local:3007/uuidv4/abc. Replace abc with the password you copy from the Umbrel app-store. You can now install and uninstall extensions from this page.

On Citadel you can fetch the URL including the ID with sudo docker restart lnbits-main-1 && sleep 3 && sudo docker logs --tail=100 lnbits-main-1.

On Start9 go to Properties, and open the Superuser URL from there.

You should now find a file called .super_user in your LNbits directory. The ID inside this file needs to be manuall put after yourlnbitsurl.com/wallet?usr=SUPERUSERID. This is your superuser-URL. Save it good and never share it ! When the AdminUI is opened we can move on.

Please be aware that in some cases making use of the new features could mean that the QR of existing QR Codes will change (e.g. in LNURLdevices, LNURLp that especially is the case).

This indicates you are logged in as superuser :

Bildschirmfoto 2023-05-14 um 20 54 23

This indicates you are logged in as admin :

Bildschirmfoto 2023-05-14 um 20 54 01

As an admin you only have available what the superuser installed and allowed you to enable and manage.


Update Extensions

Now that the extensions are taken out of core LNbits we can also update each extension separately!

  • Open your LNbits instance as super admin (not as a regular user. Now lets install the new version of a given extension like extensively described in the guide already linked above for installation. In short:
  • Go to "Mange extensions", click on "ALL", search for the one you want to update, e.g. LNURLp, click on "Manage"
  • Open the details of the extension and click on the version you need, click "Install". You´re done!

If you reopen the extension now from the left panel you will see the changes, that came with the new version.

Note that this should only be done to update to a newer version and not to an old one. This could mean loss of data!


Extensions new repo

You will find all vetted extensions in the superupser´s interface. However, since each extension has its own repo you might want to check out their code, readme or their release notes before installing them. Each vetted extension gets a video tutorial done from Ben when it is verified. By time being some may look different and might even have more features you will find described in detail in the repo of the extension. Also there is an in-depth video presentation of the most famous LNbits extensions.

LNbits works based on the Lightning Network and is a big driver of the LNURL protocol. LNURL-requests are valid in two forms: either as https:// clearnet link (no self-signed certificates allowed) or as http:// v2/v3 onion link. To offer LNbits services like LNURLp/w QR codes or NFC Cards, that can be used in the wild, you will for some extensions need to open LNbits to clearnet (https) to unleash their potential.

  • Bleskomat - Connect one or more Bleskomat ATMs to LNbits wallet accounts
  • BoltCard - Link a BoltCard (or another compatible NXP NTAG device) with an LNbits instance
  • BoltzSwap - Make swaps LN <-> onchain with Boltz Exchange
  • Cashu - Create ecash mint for pegging in/out of ecash
  • Diagon Alley - Decentralised Shop-in-Shop system
  • Deezy Swap - Make swaps LN <-> onchain with Deezy Swap
  • Discord Bot - Provide LNbits wallets for all your Discord users
  • DJ Livestream - DJs receive tips live and split with a producer
  • Events - Sell and register event tickets
  • Gerty - Use this extension for your Gerty gadgets. See Tooling-Section for the HW-requirements.
  • Hivemind - Peer-to-Peer Oracle Protocol which absorbs accurate data into a blockchain so that Bitcoin-users can speculate in on-chain Prediction Markets.
  • Invoices - Create invoices that you can send to your client to pay online over Lightning
  • Jukebox - Easily create a jukebox using Spotify/LNbits
  • Free Lightning Address - LNaddress on your domain. See this on how to get the LNURL for a LNaddress
  • Rent Lightning Addresses on your domain - Rent LN Addresses on your domain
  • LNDhub - Connect to your lnbits wallet from BlueWallet or Zeus
  • LNtickets - Pay-per-word tickets
  • LNURLDevice - For offline LNURL devices
  • LNURLp - Fixed Links to pay to static LN payment QR codes, etc)
  • NOSTR Market - Build your own merchant shop stall on a virtual NOSTR marketplace with LNbits. List of clients can be found here.
  • NOSTR Market App - the Nostr Webshop
  • NOSTR Market Client - an always-on extension that can open multiple connections to nostr relays and act as a multiplexer for other clients (required for NOSTR Market)
  • NOSTR-NIP5 - Allows users to sell NIP-05 verification to other nostr users on a domain they control.
  • NOSTR-RELAY - NOT READY YET - set up a free or paid Nostr Relay on LNbits
  • Offline Shop - Receive/verify lightning payments offline
  • Onchain wallet - Monitor a BTC wallet and generate addresses for onchain payments
  • Paywall - Lightning paywalls
  • Satsdice - Create static LNURL powered satsdices
  • SatsPay Server - Create onchain and LN charges. Includes webhooks. Needs the onchain wallet extension.
  • Scrub - Automatically forward funds that get paid to a wallet/LNURL
  • SMTP - allows you to setup a smtp, to offer sending emails with it for a small fee
  • Split Payments - Split Payments extension allows for distributing payments across multiple wallets.
  • Streamer Copilot - Tip for video streamers, triggers animations. Another tutorial can be found here )
  • Stream Alerts - Integrate Bitcoin Donations into your livestream alerts
  • Strike Extension - Forward all received payments to your Strike account
  • Subdomains - Sell subdomains
  • TipJar Extension - Accept tips in Bitcoin (needs SatsPay Extension if you want to allow btc too)
  • TPoS - Mobile ready point-of-sale terminal
  • UserManager - Make and manage users/wallets (useful if using LNbits in your software stack)
  • LNURLw Withdraw - Mint LNURL-withdraws (Pull payments links, faucets, etc)

Unvetted extensions

Important: All unvetted extensions are written by somebody from the LNbits community and not by official LNbits developers. Please install with the needed care and awareness.

To install extensions from other repos you need to visit it and look for the manifest.json, open it on github and click on "Raw" which will show you the plain file. Copy the url and insert it into Manage-Server -> Server -> Extension Sources and click save. It will then be available to be installed within the extensions section either as a separate new one or within an existing one as a new parallel version, depending on their type.

Please report to the LNbits Telegram Group if you experience smth suspicious.

  • Pegging - Pegged Assets (Standard Sats Team maintains this extension)
  • Bookie - Bets for sats
  • BliksemBier - Extension and device firmware for touchscreen beertaps.
  • DeviceTimer - LNURLdevice extension for switches with configurable opening times.
  • DFX Exchange - Swap Fiat to LN vice versa (custodian service)