Skip to main content

Unterstützte Wallets

WalletInstallationEigene VerwahrungHinweise
Blinkintegriert❌ verwahrtEinfachste Einrichtung, GraphQL API
Alby Hubintegriert✅ selbst gehostete OptionREST API, unterstützt eigenen Hub
BenutzerdefiniertL402Wallet-InterfaceEigenes Wallet verwenden

BlinkWallet

Einrichtung

  1. Registriere dich auf blink.sv
  2. Gehe zu Dashboard → API Keys → erstelle einen Schlüssel
  3. Kopiere deine Wallet ID aus dem Dashboard
export BLINK_API_KEY="your-api-key"
export BLINK_WALLET_ID="your-wallet-id"

Node.js

import { BlinkWallet } from "l402-kit";

const wallet = new BlinkWallet(
  process.env.BLINK_API_KEY!,
  process.env.BLINK_WALLET_ID!,
);

Python

from l402kit.wallets import BlinkWallet

wallet = BlinkWallet(
    api_key=os.environ["BLINK_API_KEY"],
    wallet_id=os.environ["BLINK_WALLET_ID"],
)

Funktionsweise

Ruft die Blink GraphQL API mit der lnInvoicePaymentSend-Mutation auf. Gibt den preImage der abgeschlossenen Transaktion zurück.

AlbyWallet

Einrichtung

  1. Erstelle ein Konto auf getalby.com
  2. Gehe zu Einstellungen → Zugriffstoken → erstelle ein Token mit dem Bereich payments:send
  3. (Optional) Betreibe deinen eigenen Alby Hub für eigene Verwahrung
export ALBY_TOKEN="your-access-token"
# Optional — nur für selbst gehosteten Hub erforderlich:
export ALBY_HUB_URL="https://your-hub.example.com"

Node.js

import { AlbyWallet } from "l402-kit";

// Alby cloud
const wallet = new AlbyWallet(process.env.ALBY_TOKEN!);

// Selbst gehosteter Hub
const wallet = new AlbyWallet(
  process.env.ALBY_TOKEN!,
  process.env.ALBY_HUB_URL,  // optionale Basis-URL
);

Python

from l402kit.wallets import AlbyWallet

# Alby cloud
wallet = AlbyWallet(os.environ["ALBY_TOKEN"])

# Selbst gehosteter Hub
wallet = AlbyWallet(
    access_token=os.environ["ALBY_TOKEN"],
    base_url=os.environ.get("ALBY_HUB_URL", "https://api.getalby.com"),
)

Funktionsweise

Ruft POST /payments/bolt11 auf der Alby Hub REST API mit einem Bearer-Token auf. Gibt den payment_preimage aus der Antwort zurück.

Benutzerdefiniertes Wallet

Implementiere das L402Wallet-Interface, um ein beliebiges Lightning-Wallet zu verwenden:
import type { L402Wallet } from "l402-kit";

class PhoenixWallet implements L402Wallet {
  async payInvoice(bolt11: string): Promise<{ preimage: string }> {
    const res = await fetch("http://localhost:9740/payinvoice", {
      method: "POST",
      body: new URLSearchParams({ invoice: bolt11 }),
    });
    const data = await res.json();
    return { preimage: data.paymentPreimage };
  }
}
Das Interface erfordert eine einzige Methode:
MethodeTypeScriptPython
Eine BOLT11-Rechnung bezahlenpayInvoice(bolt11): Promise<{ preimage: string }>pay_invoice(bolt11: str) -> str

Wallet auswählen

  • Testen / Prototyping → Blink (verwahrt, sofortige Einrichtung, kostenloses Kontingent)
  • Produktions-Agent, maximale Kontrolle → Alby Hub selbst gehostet (nicht verwahrt, REST API)
  • Hoher Durchsatz / niedrige Gebühren → Phoenix über benutzerdefiniertes L402Wallet (nicht verwahrt, ACINQ)
  • Enterprise → LNbits selbst gehostet über benutzerdefiniertes Wallet