WebLN: Lightning nativo en el navegador
Un estándar para que cualquier web pueda cobrar y pagar en Lightning sin que el usuario salga de la página.
Qué resuelve WebLN
Antes de WebLN, pagar en web implicaba copiar/pegar invoices o escanear QR con otro dispositivo. WebLN define una interfaz JavaScript para que la web hable con la wallet del usuario mediante una extensión del navegador.
Flujo básico
- El sitio detecta si existe
window.webln. - Solicita permiso con
enable(). - Dispara pago con
sendPayment(invoice)o crea invoice conmakeInvoice(). - La extensión muestra confirmación y ejecuta.
Quién lo implementa
La implementación de referencia más usada es Alby Extension. Muchos servicios Lightning-first en desktop (contenido premium, props, trading, herramientas web) ya soportan este flujo.
Ejemplo de integración
if (window.webln) {
await window.webln.enable();
const result = await window.webln.sendPayment(invoice);
console.log(result.preimage);
} else {
// fallback: QR o invoice copiable
}
Límite estructural
WebLN depende de extensiones de navegador, por eso funciona mejor en desktop. En móvil, donde las extensiones son limitadas, NWC suele ser el complemento más práctico.
| Protocolo | Contexto ideal | Dependencia clave |
|---|---|---|
| WebLN | Web desktop | Extensión |
| NWC | Apps y móvil | Relay Nostr + wallet server |
| LNURL | Cobro universal | Servidor web |
WebLN, NWC y LNURL cubren contextos distintos. En producción suelen convivir en la misma aplicación para cubrir todos los dispositivos.