Getting started with Lightning Address
What wallets, services, options, how to setup your own LN Address, managing LN Addresses, all this explained for newbies
🇪🇸 Español
Updated Nov 23, 2024 on Github page
Lately I receive quite a lot of questions about Lightning Address. Many people will still ask because is a new term, something that was never invented, a new concept, especially for NOSTR and other use cases.
Some are concerned about custodial ones or simply want their own fancy LN address.
Glossary:
LN = Lightning Network
sats = the smallest unit of 1 BTC (1 BTC = 100M sats)
KYC = Know Your Customer (verification crap)
NOSTR = Open Protocol that enables global, decentralized, and censorship-resistant social networks.
NIP-05 = Mapping Nostr Keys to DNS-based Internet Identifiers
So I will try to explain some aspects about Lightning Address, how you should start, how you should do it as a new LN user.
What is a Lightning Address ?
A LN Address is nothing more than a human readable address from a LNURL.
A LNURL is actually a http request for a LN invoice. So in order to have a LNURL/LN Address you need to have a web server that run those requests towards a LN node (your node or custodial node) and forward the LN invoice back to the payer.
That’s why a self custodial LNURL / LN Address is not so easy to have, in just one click, or wallets that instantly create one for you. Somebody have to setup that web request server and that must be YOU if you want self custodial.
Read more on LightningAddress.com
The LNURL web server could be run (is just a small piece of software):
On the same machine/device as your node, using your own domain name
On a separate machine, local or remote, pointing to your node, using your own domain name
Federated one, using your own domain name. You do not control totally the web server, but the server owner gives you the ability to receive requests for LNURL / LN Address and payments goes straight to your node. This is NOT custodial service, is just a forwarding service. So the owner of the service is not even touching your funds, it just exchange information about web requests.
Custodial - you just receive a dedicated LNURL / LN Address, with THEIR domain name. The funds are held in their custody but some could offer direct forwarding to your own node, instantly. So the custody is minimal.
Why you should use different types of LN Addresses?
Private or Public ?
I personally use many LN addresses, public ones and private ones, custodial and non-custodial. All depending the use case.
Let’s define what is public and what is private (I see many people confused).
Public = anything that you would do in public, online, where many people could see it, read it, copy it, track it etc. This “identity” must be a nym, an alias, a fake name, NOT your real name that you use in your private life. Public life especially online must be your “decoy life”, your public face.
Private = only stuff you do in private, in your family, with close friends, people that know you in real life, in person. Stuff that you DO NOT reveal in public, otherwise became… public information.
NEVER link public info with private info. But privately you could have interaction between these 2 identities moving funds between them in a private manner.
A LN Address is NOT meant to be your regular way of income!
A public LN Address is more for tips, small donations, nostr zaps, or even if you want to receive a message through LN. People could send you a private message attached to 1 sat tip over LN Address.
A private LN Address is more for your private income, let’s say you have a business that could receive payments for invoices, items etc. You could just inform your client to pay to a private LN address, using your business domain name. No need to generate a LN invoice for each payment they have to do to you.
I use public ones, custodial, for public stuff, where my real identity is not revealed. Almost all of these custodial DO NOT require a full KYC so is not a big deal using them. You just have to move the funds out, to your own private wallets wherever you consider is a good amount.
I use private LN address for PRIVATE stuff (private businesses, private communication with people that really know me, family, friends etc), stuff that is NOT PUBLIC.
People should learn to make the difference between public and private damn it! Seems that many still don't know it.
All this crazy hysteria with “use self-custodial LN address for your nostr zaps !” I consider it a total bullshit unnecessary. I really don’t give a shit that you send me a zap on nostr to a public custodial LN Address. NOBODY really knows where those sats will go in the end.
Custodial or self-custodial?
Why not both?
Custodial ones are the public ones.
Your decoy, your plausible deniability, your public face, your cache / buffer zone stash. Let’s be honest, how many sats you will receive in one day for example that would be such a problem to be custodial? If you depend on those sats received from some meaningless donations or tips on NOSTR, then you are … short Bitcoin.
If you receive large amounts, then withdraw to your private wallets each day. No big deal. Think about these public custodial (especially those that are NON-KYC) as a good opsec, hiding your real destination of those sats. You could move the sats through many different LN wallets from there ending up into a swap LN to onchain to your HODL wallet and NOBODY will ever know where your nostr tips went.
Use multiple ones. Never concentrate everything in one place, never count only on one address. Use multiple ones, for many different types of income. I think I use 7 or 8 public custodial, some with more traffic, some I keep them as backup, some just for fun, testing etc. I periodically move out the funds from them. And is fine.
Remember: always use the 3 levels stashing: HODL, cache, spending.
Self-custodial are the private ones.
You can even use the private ones to forward the funds from public ones. Some solutions like LNbits already have extensions that forward and split automatically any payment received to a LN Address. I also use decoy private ones when I do the, so the custodian will not make a tracing based on destination. Be inventive here.
Also the private ones, use multiple ones, each for a use case or place where you publish them.
How to achieve such thing as Lightning Address?
You have many ways as I said: federated, self-custodial, custodial. Let’s see each method and solution.
A - Federated Bridge server
Using a federated server means you will have to own a domain name and full control of its DNS records, to be able to configure it and link it to the LNURL server. Also you will have to have a LN node to which you point where to go the payments (could be Tor or clearnet or Tailscale).
I recommend BridgeAddress from Fiatjaf (NOSTR creator), is the perfect solution. Why? Because:
you can use your own domain name for the address.
is offering a lot of connection types directly to your node or other funding sources.
easy to setup, in max 10 min is functional (depending on your DNS provider).
can be used with a Tor or ZeroTier / Tailscale node.
This method is good, if you run just a simple node at home and do not want to configure a web server on your machine / IP, so a 3rd party will handle that for you, but the funds are still in your custody.
Yes, you need a bit of trust in fiatjaf, for handling your LNURL requests. But if you do not know who is fiatjaf in Bitcoin world, I don't know what are you doing here...
B - Federated LN Address service
This type of Federated servers are the ones that offers you a domain name (sometimes funny) for your LN address but the payments goes straight to your node, no custody.
PayAddress.co | BTCAdresse.de | LNBitcoin.cz | LNPay.cz | LNAddress.com | LNAddress.me | LNAddress.net | Lightning.by | Lightning.re | SatsPay.to | Sats.rs
This method is good to be used as a decoy address. Is not showing your private domain, but still is forwarding the sats straight to your private node. No custody.
C - Full Self-Custody Server
Using your own LNURL web server with your own LN node. You must have some technical skills to install the software on your node or web server, but some of them have very well explained documentation on their github page.
And are many implementations out there. Please consult the documentation page.
But I will mention here some of them:
D - Lightning Box
A special case in this category would be Blixt Lightning Box. Is still in development but soon will be released. Blixt is a self-custodial mobile LND node with many features (like Dunder LSP that also could be run in a self custodial mode or offered as a service) and trying to mitigate a convenient way for having a self-custodial LN Address that users could configure it in two ways:
Bridge mode: Blixt server will handle all the requests for the LN Address userX@blixtwallet.com, will hold the sats until user’s Blixt node come online and then will forward the sats to it. Will be just a small period of time in custody.
Self-custody: Blixt users could install the LN Box on their own servers and handle their own domain, then forward the sats to their own Blixt mobile nodes. This option is very interesting, if you run this LN Box for your family and friends and they want to use your domain name for their LN Address (see point B above). Later could even be run with multiple domain names as a service.
Blixt is also preparing a version for desktop (already have one for macOS) and this will open a huge opportunity to use Blixt node in many ways together with a Blixt mobile node. So stay tuned and learn first how to use this amazing mobile LN app.
E - Zeus LN mobile node
With the release v.0.8.0, Zeus is offering up a self-custodial lightning address that is called ZEUS PAY. This is the first ever offering of a self-custodial lightning address in a mobile app.
ZEUS PAY leverages user-generated preimage hashes, hodl invoices, and the Zaplocker Nostr attestation scheme to allow users who may not be online 24/7 to receive payments to a static lightning address. Users just need to log in to their ZEUS wallets within 24 hours to claim the payments, otherwise they will be returned to the sender.
Furthermore, ZEUS PAY can function as an onboarding method. Users have the ability to automatically request new channels from our LSP, OLYMPUS by ZEUS, with the service.
This is a fantastic solution for service workers, nomads, dissidents, and others to accept tips and donations without sacrificing custody. We eagerly look forward to all the new people that are onboarded to Bitcoin with this new functionality.
ZEUS PAY is available, not only just to embedded node users, but also remote LND users.
F - LNbits Server
Another special use case is using LNbits as LNDHUB and LNURL server provider. Again, could be used in multiple ways: self-custodial and custodial or forwarder.
a. Custodial / forwarder mode
Remember this should be used only as a temporary solution or as a forwarder (decoy) in case you do not want to use your own domain name and node. The public demo LNbits server could be anytime in maintenance mode, being just a demonstration server. But for small payments and temporary ones is OK.
So you could create a free account on Legend.LNbits.com (save / bookmark your new account created) and configure a LNURL-p with a LN Address. It will be like yourusername@legend.lnbits.com.
What is interesting in this case is that with the Scrub and Split extensions you could forward all the sats received onto this LNURL / LN Address to any other external LNURL / LN Address you have, in self custody.
b. Self custodial instance
So, with a self-custodial LNbits instance, you would have your own domain name for your LN address and manage multiple ones for your family members or friends.
Here is the Wiki Documentation about how to install and manage your own LNbits.
If you want more guides about LNbits use cases I wrote several ones:
There are many ways to play around with these tools, especially if you want to have a more private LN address.
F - Custodial Lightning Address
Yes, the (in)famous custodial ones that some people hate them. I don’t. I learned how to use them in my advantage, as a decoy, as a “public face” that could take all the punches in the face with your zaps, tips, sats whatever. Like a high wall that nobody can see what is behind. These are for small amounts that are later forwarded to my private wallets. I use these anywhere I have to use the nym “DarthCoin”.
Some of them are very useful and most of them NON-KYC (important thing). These services offer multiple features not just a LN address and worth paying attention.
Here are some that I use and I know:
GetAlby - Browser extension with multiple use cases (NIP-05 verification, Youtube 1 click tips/donations, lndhub account importable in Zeus/Bluewallet)
LN.Tips - Telegram bot, for tips, LN address, LNURL, lndhub account etc
Stacker.News - Bitcoin news aggregator/forum account with LN address, NIP-05
Walletano - simple web wallet with LN Address and multiple accounts
CoinOS - web wallet, POS, LN address, swap service, very good services
ZBD - gamers wallet with browser extension, LN Address, streamer copilot and multiple other useful features (until certain level is NON-KYC)
Mash - similar to GetAlby but focused more on web widgets and other features
Fountain - podcasting app with integrated LN Address.
Wallet of Satoshi - simple mobile LN wallet application with LN Address
Blink - simple mobile LN wallet with LN Address (KYC with a mobile number)
AcceptLN - Every email address now accepts Bitcoin Lightning
Minibits - Cashu wallet with built in Ln address
Cashu Address - Receive Lightning payments on your Cashu Address. Either sign up and claim your username, or use any nostr public key
For more custodial services that could offer a LN Address please consult this amazing website presenting a lot of Lightning services - StackSats.how
For those who are looking for a simple quick solution to use a LN Address for their NOSTR accounts, I suggest to not complicate too much these things. Keep it simple. Nobody will die for a meaningless of sats received as zaps for some memes.
I personally use on NOSTR a GetAlby LN address for zaps and a Stacker.News NIP-05 that I could also switch to it anytime as LN Address (in case GetAlby is down or vice-versa). I really don’t want to “verify my identity” with a personal private domain on NOSTR.
Ah, if I would run a business account on NOSTR, with a NOSTR-market shop, yes, then I would use a personal domain name for LN address and NIP-05, because I would need to show some proof who am I to my customers. But just for posting memes and chat with others under my nym DarthCoin, I will never use my private domains.
I am not advocating to use only custodial services, I am just pointing out that people should know how to take advantage of these services, in specific cases.
So think again - how would you use all these Lightning Addresses ?
P.S. - If you know or find other services, software, applications, bundle solutions that offer a LN Address and are not mentioned here, please let me know, I will gladly add them to this guide. I am sure I missed some, but can’t remember right now which one.
MAY THE ₿ITCOIN BE WITH YOU!
If you appreciate DarthCoin work, you can send some satoshis to darthcoin@getalby.com or darthcoin@stacker.news or darthcoin.blink.sv
or using Cashu Address darthcoin@minibits.cash
If you do not want to subscribe on substack, all DarthCoin Bitcoin guides are also announced on this dedicated Telegram Channel, for easy search and keep track.
To subscribe on substack, click here:
LNBits now has zaps integrated into lnurlp ext in the latest release. Its early though, so probably beta!
Found you through Simply Bitcoins Telegram and YouTube channels. SO much to learn!! Subscribed to all 4 recommendations of yours but most interested in Just a Plebs(hope that's the right name/decentipod?) because that's what I am, a beginner in my rabbit hole journey. I'll tell you one thing tho IM ALL IN. In a very short time I've realized THIS IS IT! Can't explain it, it's like a HUGE lightbulb went off. Anyway, just felt compelled to say Hi! 👋😀 and Thank You for your work and help!