Skip to main content

支持的钱包

钱包安装方式自托管备注
Blink内置❌ 托管式最简单的配置,GraphQL API
Alby Hub内置✅ 支持自托管REST API,支持自有 Hub
自定义L402Wallet 接口使用您自己的钱包

BlinkWallet

配置

  1. blink.sv 注册账户
  2. 前往 Dashboard → API Keys,创建一个密钥
  3. 从控制台复制您的 Wallet ID
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"],
)

工作原理

调用 Blink GraphQL API,使用 lnInvoicePaymentSend mutation。从已结算的交易中返回 preImage

AlbyWallet

配置

  1. getalby.com 创建账户
  2. 前往 Settings → Access Tokens,创建一个具有 payments:send 权限范围的令牌
  3. (可选)运行您自己的 Alby Hub 以实现自托管
export ALBY_TOKEN="your-access-token"
# 可选 — 仅在自托管 Hub 时需要:
export ALBY_HUB_URL="https://your-hub.example.com"

Node.js

import { AlbyWallet } from "l402-kit";

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

// 自托管 Hub
const wallet = new AlbyWallet(
  process.env.ALBY_TOKEN!,
  process.env.ALBY_HUB_URL,  // optional base URL
);

Python

from l402kit.wallets import AlbyWallet

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

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

工作原理

使用 Bearer 令牌调用 Alby Hub REST API 的 POST /payments/bolt11 接口。从响应中返回 payment_preimage

自定义钱包

实现 L402Wallet 接口以使用任意 Lightning 钱包:
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 };
  }
}
该接口需要实现一个方法:
方法TypeScriptPython
支付 BOLT11 发票payInvoice(bolt11): Promise<{ preimage: string }>pay_invoice(bolt11: str) -> str

如何选择钱包

  • 测试 / 原型开发 → Blink(托管式,即时配置,免费套餐)
  • 生产环境代理,最大控制权 → Alby Hub 自托管(非托管式,REST API)
  • 高吞吐量 / 低手续费 → 通过自定义 L402Wallet 使用 Phoenix(非托管式,ACINQ)
  • 企业级 → 通过自定义钱包使用 LNbits 自托管