🎯 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-knownfiles - 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:
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:
{
"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:
{
"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 |