LNURL — родина необов’язкових прикладних процедур Lightning, описаних у LUD. Передає параметри й запити між гаманцем і службою; це не правило консенсусу Bitcoin і не універсальний дозвіл.
LNURL включає payRequest для оплати, withdrawRequest для виведення та login для входу, а також інші розширення. Гаманці підтримують різні підмножини LUD. «Підтримує LNURL» не означає всі операції або однаковий ефект їх схвалення. [LNURL — LUD index] [Lightning Labs — LNURL glossary]
Базовий LNURL за LUD-01 кодує HTTPS або onion URL у Bech32. Це не шифрування й не рахунок BOLT 11. Тип задає tag у URL або JSON після GET. Гаманець має розпізнати домен та операцію; сам вигляд QR не підтверджує одержувача. [LNURL — LUD-01 encoding]
payRequest повертає callback, minSendable, maxSendable та metadata. Межі й обраний amount — у msat; 1000 msat це один satoshi. Після схвалення умов гаманець запитує рахунок у pr та перевіряє суму перед оплатою. Статичне посилання не доводить платіж. [LNURL — LUD-06 payRequest]
Metadata — рядок із масивом JSON та обов’язковим записом text/plain; інші типи необов’язкові. Читайте опис разом із доменом і сумою. Базовий LNURL тлумачить тіло JSON, не сам HTTP код; ERROR чи отримання рахунку pr не є успішною оплатою. [LNURL — LUD-01 encoding] [LNURL — LUD-06 payRequest]
withdrawRequest повертає k1, callback та межі minWithdrawable/maxWithdrawable у msat. Ваш гаманець створює рахунок на приймання та передає його як pr службі, яка має заплатити. Status OK підтверджує запит; гаманець ще чекає надходження. Посилання на виведення може нести дозвіл, тож це не публічний платіжний контакт. [LNURL — LUD-03 withdrawRequest]
LNURL-auth із tag login використовує виклик k1 і доменний linkingKey. Після згоди гаманець підписує через ECDSA на secp256k1, не надсилаючи seed службі. Action може означати реєстрацію, вхід, прив’язування або інший дозвіл. Підпис не є bitcoin-платежем чи автоматичним доказом особи. [LNURL — LUD-04 authentication]
HTTPS захищає передавання, але служба може знати запити й час. Повторні використання можуть бути пов’язані. Auth виводить ключ із повного домену; зміна піддомену змінює linkingKey та може дати інший обліковий запис. Переносимість входу між гаманцями не гарантована через різні способи виведення. LNURL не визначає зберігача bitcoin. [LNURL — LUD-01 encoding] [LNURL — LUD-04 authentication]
Необов’язковий LUD-21 додає verify URL; відповідь розрізняє settled true/false і може повертати preimage. Сам status OK не означає settled true. Перевірте зв’язок із конкретним рахунком і стан гаманця. Втративши відповідь, не платіть знову навмання; доступність, ліквідність приймання та обсяг згоди лишаються окремими умовами. [LNURL — LUD index] [LNURL — LUD-21 verification]
Для повної картини прочитайте також BOLT 11, BOLT 12, Lightning Network, Lightning Address, Приватність у Bitcoin, Satoshi. На цю статтю також посилаються BOLT 12, Lightning Address, Confirmo.