Lightning Privacy: The Gap Nobody Talks About

Lightning payments are fast and cheap. They are not private by default. Here is what actually leaks, and what fixes it.

The Illusion of Private Payments

Lightning is fast and cheap. It is not private by default.

Every payment that starts with a Lightning Address involves an HTTP request to a server you don’t control. When you type friend@someservice.com, your wallet sends a GET request to https://someservice.com/.well-known/lnurlp/friend. That server logs your IP address, the timestamp, and the fact that you are about to send a payment to that person.

Your node does not make that request. Your wallet does. So even if you run your own Lightning node and route payments through it, the LNURL lookup still reveals you.

Three Layers of Exposure

Layer 1: The LNURL server
Knows your IP, when you queried, and that you are about to pay. This is unavoidable unless you route the query through Tor.

Layer 2: The invoice
A standard BOLT11 invoice expires in minutes. But the payment hash is public. If the invoice was reused, which many wallets allow, correlation across payments becomes trivial.

Layer 3: The Lightning graph
Large routing nodes see payment amounts and timing, even without seeing source or destination. Enough data points reconstruct paths.

What Actually Fixes It

Tor in your wallet: Routes the LNURL HTTP request through Tor, hiding your IP. Available in Phoenix and self-hosted setups. Not on by default in any major wallet.

BOLT12 Offers: Removes the HTTP layer entirely. An offer is a static code that generates fresh invoices via onion messages inside Lightning. No external server, no IP leak, no plaintext HTTP. The request and the payment both travel through the Lightning routing graph.

BOLT12 is the correct architectural fix. The limitation today is adoption: the recipient’s node must support it. As of late 2026, CLN and LDK support it. LND is still partial.

Running your own LNURL server: Does not help with the IP leak, since you are still the one making the HTTP request. But it removes the third-party data dependency.

The Practical Takeaway

If you are paying people via Lightning Address today:

  • Use a wallet with Tor routing enabled
  • Ask if your recipients support BOLT12 Offers and use them when possible
  • Avoid reusing invoices for payments you care about keeping private

Privacy in Lightning is not a switch. It is a stack of decisions. Each one reduces your surface. None eliminates it completely.

Write a comment