Install
openclaw skills install @dyegolara/lnurl-authAuthenticate to LNURL-auth (LUD-04) services without a wallet, node, or payment. Use when a site provides an lnurl1... challenge for Sign in with Lightning.
openclaw skills install @dyegolara/lnurl-authUse this skill for authentication only. It signs a service-provided k1
challenge with a secp256k1 linking key and sends the signature to the service.
It never creates an invoice, makes a payment, or requires a Lightning node or
wallet.
lnurl1... string from a Sign in with Lightning link, QR code, or page.--dry-run when the callback must be inspected before submission.--single-key when one linking key must be shared across domains.Do not invent or alter the lnurl1... value. Ask for a fresh challenge when a
service reports that the challenge was already used.
The bundled helper uses only Node.js built-ins and is located at:
<skill_dir>/scripts/lnurl_auth.js
Inspect the decoded URL and signature without authenticating:
node <skill_dir>/scripts/lnurl_auth.js "<lnurl1...>" --dry-run --json
After the user confirms that the service and callback are expected, submit the authentication request:
node <skill_dir>/scripts/lnurl_auth.js "<lnurl1...>" --json
The helper requires Node.js 20.19 or newer. The only network requests are the
optional challenge GET and the final callback GET. The callback host comes
from the decoded LNURL unless the user explicitly supplies --callback.
lnurl1... value into a service URL.k1 challenge, fetching it with a GET when it
is not already in the URL.--single-key is selected.k1 bytes with secp256k1 and encode the signature as DER.sig and key.The master secret is generated once at
~/.config/lnurl-auth/master.key (or at LNURL_AUTH_KEYFILE) and is written
with mode 0600. Never print, paste, or send the master secret.
k1, compressed
linking public key, callback URL, HTTP status, and service response.0: the service returned status: OK.1: malformed input, invalid key/challenge, or a network/client error.2: missing input or an unknown command-line option.3: the service returned status: ERROR.4: the service returned a non-200 or non-JSON response.Do not retry a submitted challenge. A signature verification error usually means the service received a different key or the challenge was modified.