LNURL to rodzina opcjonalnych procedur aplikacji Lightning opisanych w LUD. Przesyła parametry i żądania między portfelem a usługą; nie jest regułą konsensusu Bitcoin ani uniwersalnym uprawnieniem.
LNURL obejmuje payRequest do płacenia, withdrawRequest do wypłat i login do uwierzytelniania oraz dalsze rozszerzenia. Portfele wdrażają różne części LUD. „Obsługuje LNURL” nie oznacza wszystkich operacji ani tego samego skutku ich zatwierdzania. [LNURL — LUD index] [Lightning Labs — LNURL glossary]
Podstawowy LNURL według LUD-01 koduje URL HTTPS lub onion w Bech32. Nie jest szyfrowaniem ani fakturą BOLT 11. Typ określa tag w URL albo w odpowiedzi JSON po GET. Portfel musi rozpoznać domenę i operację; sam wygląd QR nie potwierdza odbiorcy. [LNURL — LUD-01 encoding]
payRequest zwraca callback, minSendable, maxSendable i metadata. Limity i wybrany amount są w msat; 1000 msat to jeden satoshi. Po zatwierdzeniu warunków portfel żąda faktury w pr i sprawdza kwotę przed zapłatą. Stały link nie jest dowodem płatności. [LNURL — LUD-06 payRequest]
Metadata to tekst zawierający tablicę JSON z wymaganym wpisem text/plain; inne typy są opcjonalne. Opis czytaj wraz z domeną i kwotą. Podstawowy LNURL interpretuje treść JSON, nie sam kod HTTP; ERROR lub otrzymanie faktury pr nie oznacza udanej zapłaty. [LNURL — LUD-01 encoding] [LNURL — LUD-06 payRequest]
withdrawRequest zwraca k1, callback i limity minWithdrawable/maxWithdrawable w msat. Twój portfel wystawia fakturę odbiorczą i przekazuje ją jako pr usłudze, która ma zapłacić. Status OK potwierdza przyjęcie żądania; portfel nadal czeka na wpływ. Link wypłaty może zawierać uprawnienie, więc nie traktuj go jak publicznego kontaktu płatniczego. [LNURL — LUD-03 withdrawRequest]
LNURL-auth z tag login używa wyzwania k1 i domenowego linkingKey. Po zgodzie portfel podpisuje je przez ECDSA na secp256k1; nie wysyła usłudze seeda. Action może oznaczać rejestrację, logowanie, powiązanie lub inną autoryzację. Podpis nie jest płatnością bitcoin ani automatycznym dowodem tożsamości osoby. [LNURL — LUD-04 authentication]
HTTPS chroni przesyłanie, lecz usługa może znać żądania i ich czas. Powtarzane użycia można powiązać. Auth wyprowadza klucz z pełnej domeny; zmiana subdomeny zmienia linkingKey i może prowadzić do innego konta. Przenoszenie logowania między portfelami nie jest gwarantowane z powodu różnych metod wyprowadzania. LNURL nie określa powiernictwa bitcoinów. [LNURL — LUD-01 encoding] [LNURL — LUD-04 authentication]
Opcjonalny LUD-21 dodaje URL verify; odpowiedź rozróżnia settled true/false i może zwrócić preimage. Sam status OK nie oznacza settled true. Sprawdź powiązanie z fakturą i stan portfela. Po utracie odpowiedzi nie płać ponownie w ciemno; dostępność, płynność odbiorcza i zakres zgody pozostają oddzielne. [LNURL — LUD index] [LNURL — LUD-21 verification]
Pełniejszy obraz uzyskasz, czytając to hasło razem z BOLT 11, BOLT 12, Lightning Network, Lightning Address, Prywatność w Bitcoinie, Satoshi. Do tego hasła prowadzą również odsyłacze z BOLT 12, Lightning Address, Confirmo.