aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/names.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-01 23:31:24 -0700
committerAdam Soltys <[email protected]>2026-08-01 23:31:24 -0700
commite978ae682f71ce87c14fb8bea886f90ddd4bf1c3 (patch)
tree6635b6661ff7a5bc43f118b22b0c20ccea405b18 /src/features/names.js
parent3dab66c5d3d63f19444e7fe14017fdfeb9a8e27d (diff)
downloadcoinosv3-e978ae682f71ce87c14fb8bea886f90ddd4bf1c3.tar.gz
coinosv3-e978ae682f71ce87c14fb8bea886f90ddd4bf1c3.zip
Payment addresses accept Lightning from LNURL-only wallets
An address only worked for wallets that speak DNS payment instructions or BOLT 12; everything else looks for /.well-known/lnurlp/<name>. 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 <[email protected]>
Diffstat (limited to 'src/features/names.js')
-rw-r--r--src/features/names.js3
1 files changed, 3 insertions, 0 deletions
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 } : {}),