mcpField
L
l402-kit

l402-kit

本地服务
github.com/ShinyDapps金融数据422 周前更新

关于 l402-kit

l402-kit 提供用于 L402 API 的支付中间件和 Agent 客户端,支持比特币闪电网络支付,并兼容 x402。其 MCP 服务让兼容的 Agent 可通过该支付流程调用收费 API。

主要功能

  1. 01为 API 处理 L402 支付
  2. 02验证比特币闪电网络发票
  3. 03支持会话预算的 Agent 客户端
  4. 04重放防护与限时 macaroon
  5. 05提供 TypeScript、Python、Go、Rust SDK

适用场景

  1. 01按 API 调用次数收取 sats
  2. 02让 Agent 支付以访问受保护的 API
  3. 03提供数据前验证闪电网络支付
  4. 04在支持的服务端运行环境中接入 L402

MCP 相关

MCP 服务向兼容的 Agent 提供 l402-kit,使其能够调用受 L402 保护的 API。README 还说明其兼容 x402。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"thiagodataengineer-l402-kit": {
"command": "npx",
"args": [
"-y",
"l402-kit"
]
}
}
}
启动命令npx -y l402-kit

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npml402-kit1.8.7

工具

12

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是要获取的 URL(http 或 https)。
bodystring否字符串形式的请求正文(POST/PUT 请求用)。
methodstring否HTTP 方法 — GET、POST、PUT、DELETE、PATCH。默认值:GET
headersobject否以键值对形式提供的额外 HTTP 请求标头

详细介绍

l402-kit

l402-kit

为任意 API 添加按次付费的 Bitcoin Lightning 支付。只需 3 行代码。

License: MIT Live Demo Tests l402-kit MCP server


VS Code Marketplace Installs

▶ 观看端到端演示 — 安装 → 402 → 支付 → 200 OK



实时使用情况
SDK版本下载量
📦 TypeScript · npmjs.com/package/l402-kitnpmnpm total
🐍 Python · pypi.org/project/l402kitpypipypi total
🦀 Rust · crates.io/crates/l402kitcratescrates dls
🔌 VS Code Extension · marketplacevscode vermarketplace
🦫 Go · pkg.go.devgogo report


🌍 支持 11 种语言 — 点击展开

🇺🇸 通过比特币闪电网络为你的 API 收费。只需 3 行代码。 🇧🇷 Monetize sua API com Bitcoin Lightning. 3 linhas de código. 🇪🇸 Monetiza tu API con Bitcoin Lightning. 3 líneas de código. 🇨🇳 用 3 行代码,通过比特币闪电网络收费。 🇮🇳 अपने API को Bitcoin Lightning से 3 लाइनों में मोनेटाइज़ करें। 🇸🇦 اكسب من API الخاص بك عبر Bitcoin Lightning. 3 أسطر فقط. 🇫🇷 Monétisez votre API en Bitcoin Lightning. 3 lignes de code. 🇩🇪 Monetarisiere deine API mit Bitcoin Lightning. 3 Zeilen Code. 🇷🇺 Монетизируй свой API через Bitcoin Lightning. 3 строки кода. 🇯🇵 Bitcoin LightningでAPIを3行で収益化。 🇮🇹 Monetizza la tua API con Bitcoin Lightning. 3 righe di codice.

📖 官方文档: 🇺🇸 · 🇧🇷 · 🇪🇸 · 🇨🇳 · 🇮🇳 · 🇸🇦 · 🇫🇷 · 🇩🇪 · 🇷🇺 · 🇯🇵 · 🇮🇹


安装

npm install l402-kit        # TypeScript / Node.js / Express
pip install l402kit         # Python / FastAPI / Flask
go get github.com/shinydapps/l402-kit/[email protected]   # Go / net/http / Chi / Gin
cargo add l402kit           # Rust / axum

AI Agent / 大模型: 查看 llms.txt 获取机器可读的说明。 Agent 发现: /.well-known/agent.json · /.well-known/l402.json


面向 AI Agent

l402-kit 是自主 Agent 的支付层。Agent 无需人工干预即可为 API 付费。

系统提示词片段 — 将其添加到任意 Agent,即可启用 L402 支付:

You have access to paid APIs via the L402 protocol.
When you call an API that returns HTTP 402, use the L402Client from l402-kit
to pay automatically with Bitcoin Lightning.
Budget limit: {BUDGET_SATS} sats per session. Never exceed this limit.

Agent SDK 快速入门:

import { l402Client, buildWallet } from "l402-kit/agent";

const client = l402Client({
  wallet: buildWallet(process.env), // auto-detects BLINK_API_KEY or ALBY_TOKEN
  budgetSats: 1000,
});

const data = await client.fetch("https://api.example.com/paid-endpoint");

MCP 服务(适用于 Claude Desktop、Cursor 和任何兼容 MCP 的 Agent):

{
  "mcpServers": {
    "l402-kit": {
      "command": "npx",
      "args": ["l402-kit-mcp"],
      "env": { "BLINK_API_KEY": "your-key" }
    }
  }
}

兼容: LangChain · OpenAI Agents · CrewAI · Vercel AI SDK · AutoGPT · 任意 MCP 客户端

协议支持: 兼容 L402(Bitcoin Lightning)· x402(USDC/Coinbase)

由 L402-Kit 提供支持


工作原理

1. Client calls your API
       ↓
2. API returns  HTTP 402 + BOLT11 invoice + macaroon
       ↓
3. Client pays  (any Lightning wallet, < 1 second, any country)
       ↓
4. Client sends Authorization: L402 <macaroon>:<preimage>
       ↓
5. API verifies SHA256(preimage) == paymentHash  ✓
       ↓
6. HTTP 200 OK + your data

── Fee flow (managed mode) ─────────────────────────────────
   Payment → 99.7% → your Lightning Address  (instant)
           →  0.3% → ShinyDapps

快速入门

TypeScript
import express from "express";
import { l402, AlbyProvider } from "l402-kit";

const app = express();

const lightning = new AlbyProvider(process.env.ALBY_TOKEN!);

app.get("/premium", l402({ priceSats: 100, lightning }), (_req, res) => {
  res.json({ data: "Payment confirmed." });
});

app.listen(3000);
Python
from fastapi import FastAPI, Request
from l402kit import l402_required

app = FastAPI()

@app.get("/premium")
@l402_required(price_sats=100, owner_lightning_address="[email protected]")
async def premium(request: Request):
    return {"data": "Payment confirmed."}
Go
package main

import (
    "fmt"
    "net/http"
    l402kit "github.com/shinydapps/l402-kit/go"
)

func main() {
    http.Handle("/premium", l402kit.Middleware(l402kit.Options{
        PriceSats:             100,
        OwnerLightningAddress: "[email protected]",
    }, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintln(w, `{"data": "Payment confirmed."}`)
    })))
    http.ListenAndServe(":8080", nil)
}
Rust
use axum::{middleware, routing::get, Router};
use l402kit::{l402_middleware, Options};
use std::sync::Arc;

#[tokio::main]
async fn main() {
    let opts = Arc::new(Options::new(100).with_address("[email protected]"));

    let app = Router::new()
        .route("/premium", get(|| async { "Payment confirmed." }))
        .route_layer(middleware::from_fn_with_state(opts, l402_middleware));

    let listener = tokio::net::TcpListener::bind("0.0.0.0:8080").await.unwrap();
    axum::serve(listener, app).await.unwrap();
}

在线试用

# Step 1 — triggers 402 + returns invoice
curl http://localhost:3000/premium
# ← { "error": "Payment Required", "invoice": "lnbc1u...", "macaroon": "eyJ..." }

# Step 2 — pay the invoice with any Lightning wallet, then:
curl http://localhost:3000/premium \
  -H "Authorization: L402 <macaroon>:<preimage>"
# ← { "data": "Payment confirmed." }

▶ 试用交互式演示


为什么不选 Stripe?

Stripel402-kit
最低手续费$0.30< 1 sat(约 $0.001)
结算时间2–7 天< 1 秒
拒付是不可能 — 有加密证明
需要账户是否 — 任意 Lightning 钱包
AI Agent 支持否是 — 原生支持 4 个 SDK
屏蔽的国家/地区约 50 个0 — 默认面向全球
可撤销是否 — 收款即最终结算
开源否是 — MIT

提供方

import { BlinkProvider, OpenNodeProvider, LNbitsProvider } from "l402-kit";

// Blink (recommended — free, instant setup)
const provider = new BlinkProvider(process.env.BLINK_API_KEY!, process.env.BLINK_WALLET_ID!);

// OpenNode (production, custodial)
const provider = new OpenNodeProvider(process.env.OPENNODE_KEY!);

// LNbits (self-hosted)
const provider = new LNbitsProvider(process.env.LNBITS_KEY!, "https://your.lnbits.host");

使用你自己的节点 — 只需 5 行即可实现 LightningProvider 接口:

import type { LightningProvider } from "l402-kit";

class MyNode implements LightningProvider {
  async createInvoice(amountSats: number) { /* return Invoice */ }
  async checkPayment(paymentHash: string) { /* return boolean */ }
}

安全模型

Invoice creation:  paymentHash = SHA256(preimage)
Client payment:    Lightning Network releases preimage to payer
API verification:  SHA256(preimage) == paymentHash  ✓
Replay protection: each preimage is marked used — works exactly once
Token expiry:      macaroons expire after 1 hour
  • 不可伪造 — SHA256 是单向函数;无法伪造原像
  • 无拒付 — 加密结算,而非可撤销的银行卡授权
  • 防重放 — MemoryReplayAdapter(开发环境)或 RedisReplayAdapter(生产环境,多实例)
  • 600+ 项自动化测试,覆盖 5 种运行时(TS、Python、Go、Rust、Cloudflare Workers)——为自主 Agent 工作流提供生产级可靠性
  • 完全可审计 — MIT 许可,每一行代码均为开源

VS Code 扩展

无需离开编辑器,即可实时监控每一聪的收支。

VS Code Marketplace

  • ⚡ 按端点显示实时支付动态
  • 📊 柱状图 — 1D / 7D(免费)· 30D / 1Y / ALL(Pro)
  • 🌍 内置 11 种语言
  • 🎨 浅色 / 深色 / 自动主题
  • 🔧 无需配置 — 只需设置你的 Lightning Address

获取 Lightning Address(免费)

在 dashboard.blink.sv 注册 — 免费、无需信用卡、即时开通。 你的地址:[email protected]

其他钱包:Wallet of Satoshi · Phoenix · Zeus · Alby


链接

资源URL
📖 文档(11 种语言)l402kit.com/docs
📦 npmnpmjs.com/package/l402-kit
🐍 PyPIpypi.org/project/l402kit
🦫 Gopkg.go.dev/github.com/shinydapps/l402-kit/go
🦀 Rustcrates.io/crates/l402kit
🔌 VS Codemarketplace.visualstudio.com
⚡ Lightning[email protected]
🐙 GitHubgithub.com/ShinyDapps/l402-kit

MIT — 免费使用,自由构建。

Bitcoin 没有国界。


由 ShinyDapps 使用 ⚡ 构建


文档 · 演示 · VS Code · npm

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。