getAlby / getAlby/go

Support for lnurlp:// URI scheme and nested LIGHTNING:lnurlp://

Open
#402 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
57
Forks
21
Avg merge
2h 9m
Merged PRs (30d)
1

Description

**Description:**

Currently, Alby Go Wallet supports:
- lightning: URI scheme for Lightning invoices

However, it does not support:
- lnurlp:// URI scheme for LNURL-pay
- nested/compound URI schemes where both are combined

Example of unsupported formats:
```
lnurlp://demo.lnbits.com/bitcoinswitch/api/v1/lnurl/b4dEpKaanBbk7DmEoia32D?pin=13
LIGHTNING:lnurlp://demo.lnbits.com/bitcoinswitch/api/v1/lnurl/b4dEpKaanBbk7DmEoia32D?pin=13
```

**Expected Behavior:**
When scanning a QR code with lnurlp:// or nested LIGHTNING:lnurlp:// format, Alby Go should:
1. Recognize the lnurlp:// URI scheme
2. For nested format: strip the outer lightning: prefix and process the inner lnurlp:// URL
3. Process the LNURL-pay request as normal

**Current Behavior:**
Alby Go does not recognize or handle these formats and fails to process the payment request with the error:

Image

**Use Case:**
Many Lightning payment systems, particularly LNbits and its extensions, generate QR codes with lnurlp:// and nested LIGHTNING:lnurlp:// formats. The nested format provides better compatibility with legacy wallets that only recognize the lightning: prefix. Supporting these formats would improve interoperability with LNbits-based payment systems and align with industry standards.

**Proposed Solution:**
1. Add support for lnurlp:// URI scheme
2. Add URI parsing logic to handle nested LIGHTNING:lnurlp:// format by stripping the outer lightning: prefix
3. Process the LNURL-pay request as a standard LNURL-pay flow

**Additional Context:**
WoS and Phoenix already support lnurlp:// and the nested URI scheme.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files or tests. Start by locating the QR-code URI parsing entry point and the existing lightning: and LNURL-pay handling, then trace how payment requests are dispatched. Done means direct lnurlp:// and nested LIGHTNING:lnurlp:// QR values are recognized, the outer prefix is removed for nested values, and the normal LNURL-pay flow processes both formats.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
mobile, payments
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.