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

  1. El sitio detecta si existe window.webln.
  2. Solicita permiso con enable().
  3. Dispara pago con sendPayment(invoice) o crea invoice con makeInvoice().
  4. 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.

ProtocoloContexto idealDependencia clave
WebLNWeb desktopExtensión
NWCApps y móvilRelay Nostr + wallet server
LNURLCobro universalServidor web
No compiten entre sí

WebLN, NWC y LNURL cubren contextos distintos. En producción suelen convivir en la misma aplicación para cubrir todos los dispositivos.

Enlaces