Table of Contents

Namespace LNURL

Classes

BoltCardHelper

Provides helper methods for working with BoltCard NFC cards, including decrypting the p parameter to extract UID and counter values, verifying CMAC authentication codes, and creating p and c values.

Extensions

Provides extension methods for Uri used by the LNURL library to determine network characteristics of service endpoints.

LNAuthRequest

Represents an LNURL-auth request as defined in LUD-04. Provides passwordless authentication by signing a challenge (k1) with a Lightning node key.

LNURL

Static facade class providing core LNURL protocol operations including encoding, decoding, and fetching information from LNURL endpoints. Implements LUD-01 (bech32 encoding), LUD-17 (scheme-based encoding), and LUD-16 (Lightning Address / internet identifier).

LNURLChannelRequest

Represents an LNURL-channel request as defined in LUD-02. Allows a wallet to request a channel to be opened from the service node.

LNURLHostedChannelRequest

Represents an LNURL hosted channel request as defined in LUD-07. A hosted channel is a trust-based channel where the host holds all funds on behalf of the client.

LNURLJsonOptions

Provides pre-configured JsonSerializerOptions for System.Text.Json serialization of LNURL types. Includes all custom converters needed for LNURL protocol types such as Uri, BTCPayServer.Lightning.LightMoney, BTCPayServer.Lightning.NodeInfo, NBitcoin.PubKey, and NBitcoin.Crypto.ECDSASignature.

LNURLPayRequest

Represents an LNURL-pay request as defined in LUD-06. Contains the service parameters for initiating a Lightning payment, including sendable amount range, metadata, and optional payer data fields (LUD-18).

LNURLPayRequest.AuthPayerDataField

Extends LNURLPayRequest.PayerDataField with a challenge field for LUD-18 authentication.

LNURLPayRequest.LNURLPayRequestCallbackResponse

Represents the callback response from an LNURL-pay service (LUD-06), containing the BOLT11 payment request and optional success action (LUD-09).

LNURLPayRequest.LNURLPayRequestCallbackResponse.LNURLPayRequestSuccessActionAES
LNURLPayRequest.LNURLPayRequestCallbackResponse.LNURLPayRequestSuccessActionJsonConverter

Newtonsoft.Json converter for polymorphic deserialization of LNURLPayRequest.LNURLPayRequestCallbackResponse.ILNURLPayRequestSuccessAction based on the tag property (LUD-09).

LNURLPayRequest.LNURLPayRequestCallbackResponse.LNURLPayRequestSuccessActionMessage
LNURLPayRequest.LNURLPayRequestCallbackResponse.LNURLPayRequestSuccessActionUrl
LNURLPayRequest.LUD18AuthPayerDataResponse

Represents the payer's authentication response for LUD-18 auth.

LNURLPayRequest.LUD18PayerData

Describes the payer data fields that a service accepts or requires (LUD-18).

LNURLPayRequest.LUD18PayerDataResponse

Represents the payer data provided by the wallet in response to a LNURLPayRequest.LUD18PayerData request.

LNURLPayRequest.PayerDataField

Represents a payer data field descriptor indicating whether the field is mandatory (LUD-18).

LNURLVerifyResponse

Represents the response from an LNURL payment verification endpoint as defined in LUD-21. Allows a wallet to check whether a Lightning payment has been settled by the service.

LNURLWithdrawRequest

Represents an LNURL-withdraw request as defined in LUD-03. Allows a wallet to withdraw funds by providing a BOLT11 invoice to the service.

LNUrlException

Represents an error returned by an LNURL service endpoint or a protocol-level validation failure. Thrown by LNURL operations when the service returns an error status or when response verification fails.

LNUrlStatusResponse

Represents an LNURL status response, used across all LNURL flows to indicate success or error. When the Status is "ERROR", the Reason property contains a human-readable error message.

Interfaces

LNURLPayRequest.LNURLPayRequestCallbackResponse.ILNURLPayRequestSuccessAction

Marker interface for LNURL-pay success actions (LUD-09).

Enums

LNAuthRequest.LNAuthRequestAction

Defines the action types for LNURL-auth requests (LUD-04).