-
@ avren
2025-05-11 17:01:37🎯 Goal
You want to: - Offer a self-managed Zap address using your own domain - Forward payments to your Zeus Wallet (via Olympus LSP) - Combine NIP-05 and Lightning (Zaps) under one identifier
Important: - This setup enables receiving Zaps only. - Sending Zaps still requires the built-in Lightning wallet of the Nostr client.
🧩 Components Used in This Example
- GitHub Pages: Hosts your
.well-known
files - ZeusWallet (Olympus): Receives the payments (Zaps)
- LNURL-Pay JSON: Forwards Zap requests to
zeuspay.com
- NIP-05 Identifier: Your public Nostr identity address
- lud16 (Lightning): Same address as NIP-05 for Lightning Zap receiving
The following article describes the precondition of creating a nip-05 with custom domain:
nostr:naddr1qvzqqqr4gupzpyrraa4eymelf5xndvxcwxvvs8p7qxluxy0zvrk9rxmlat73axsfqq2nxw24wge47s2ydet4ykjlxfgyc62223y5xtdzydu
📁 GitHub Folder Structure
The GitHub folder structure must look like this. You extend the existing NIP-05 setup by adding a folder
lnurlp
with one file:.well-known/ ├── nostr.json # For NIP-05 └── lnurlp/ └── petermuster # For LNURL-Zap
*For example, if your Lightning address is
petermuster@zeuspay.com
, name the filepetermuster
(no file extension is needed).
📄 Content of
.well-known/lnurlp/petermuster
Open the terminal on your linux/mac and run:
bash curl https://zeuspay.com/.well-known/lnurlp/petermuster
Copy the result into a text editor, clean it up and save it into a file named
petermuster
with this format:json { "callback": "https://zeuspay.com/api/lnurl/pay/petermuster", "metadata": "[["text/plain","Self-custodial LN address powered by ZEUS. Hodl invoice will settle when user comes online within 24hrs or you'll be refunded."],["text/identifier","petermuster@zeuspay.com"]]", "tag": "payRequest", "minSendable": 1000, "maxSendable": 612000000000, "allowsNostr": true, "nostrPubkey": "3943rjfoijdlakfjo0afsdafasfasfdsadklnfaksdfjljewopqjweilj", "commentAllowed": 600, "zeusPayPlus": true }
📝 Nostr Profile Configuration
Make sure your Nostr profile links both your
nip05
and your Lightning address like this:json { "nip05": "petermuster@mydomain.com", lightnisadress (lud16): "petermuster@mydomain.com" }
⚠️ Privacy / Info Leaks
| Field | Leak? | Explanation | |-------------------|-------|-------------| |
maxSendable
| 🟡 Minor | Indicates the user can accept up to 6.12 BTC. This is not your balance, it shows just you use ZeusPay Plus. | |metadata
| 🔵 Editable | You can remove ZEUS branding for more privacy | |nostrPubkey
| 🔵 Public | This is your public key, no issue | |callback
domain | 🟡 Yes | It reveals you're forwarding tozeuspay.com
| | Custody | 🟢 No | You're using Zeus in non-custodial mode |
✅ Benefits of This Setup
| Advantage | Description | |----------------------------------------|-------------| | Unified Identity | One address for both NIP-05 and Lightning Zaps | | Less dependency on the client | No need to use or register a Lightning wallet in the Nostr client | | Direct payment to your node | Sats go directly to your Zeus wallet via Olympus LSP | | Easily switch payment backend | You can change the real LNURL backend later without changing your address | | Future-proof | You can later self-host your own LNURL backend |
- GitHub Pages: Hosts your