From e978ae682f71ce87c14fb8bea886f90ddd4bf1c3 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 1 Aug 2026 23:31:24 -0700 Subject: Payment addresses accept Lightning from LNURL-only wallets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An address only worked for wallets that speak DNS payment instructions or BOLT 12; everything else looks for /.well-known/lnurlp/. The registrar now serves LUD-06/16 (with NIP-57 zap support), preferring the path that touches no funds: if the recipient's wallet published a CLINK offer key, we ask IT for the invoice over nostr and hand the result straight back — the payment never passes through us. Only when nobody answers does our node mint the invoice, and the existing settle forwarder pushes the money on to their address, signing a zap receipt when the payment was a zap. Co-Authored-By: Claude Fable 5 --- src/features/names.js | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/features/names.js') diff --git a/src/features/names.js b/src/features/names.js index 4e4f704..4c0ffaf 100644 --- a/src/features/names.js +++ b/src/features/names.js @@ -66,6 +66,9 @@ export function namesFeature(ctx) { if (!uri) throw new Error(t('namesNeedArk')); const j = await post('/register', 'POST', { name, uri, domain: DOMAIN, + // lets the address take Lightning payments from LNURL-only wallets: + // the registrar asks this key for an invoice before minting its own + ...(hook('nwcOfferPubkey') ? { offerPk: hook('nwcOfferPubkey') } : {}), // when the login identity claims its own npub name, it nominates the // wallet key to keep the record updated afterwards ...(manager ? { manager } : {}), -- cgit v1.2.3