#

nip-05

(6 articles)

Self-managed NIP-05 as a Lightning receiver Zap Address for Nostr

## 🎯 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 file `petermuster` (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 to `zeuspay.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 |