L402 (formerly LSAT)
Lightning Labs
В работеСервер отвечает на запрос кодом 402 и заголовком WWW-Authenticate с макаруном и Lightning-инвойсом. Клиент платит, получает прообраз как квитанцию и повторяет запрос с «Authorization: L402 макарун:прообраз». Aperture — обратный прокси, который ставит такой платный доступ перед любым REST или gRPC API.
Спецификация и прокси Aperture годами работают в сервисах самой Lightning Labs.
GET /v1/data HTTP/1.1
→ 402 Payment Required
WWW-Authenticate: L402 macaroon="AGIAJEem…", invoice="lnbc100n1…"
# pay the invoice, keep the preimage, retry:
GET /v1/data HTTP/1.1
Authorization: L402 AGIAJEem…:<preimage-hex>
→ 200 OK
HTTP 402 Payment Required
IETF (HTTP semantics, RFC 9110)
В работеОбычный код ответа «сначала оплатите». Сам по себе он не несёт ни цены, ни инвойса: заголовки определяют протоколы из этого списка. Поэтому один HTTP-клиент агента может понимать сразу несколько из них.
Код есть в каждом HTTP-стеке, но RFC 9110 до сих пор помечает его «зарезервирован на будущее»: формат оплаты задают L402, Cashu NUT-24 или x402.
HTTP/1.1 402 Payment Required
WWW-Authenticate: L402 … # Lightning (L402)
X-Cashu: creqA… # Cashu ecash (NUT-24)
PAYMENT-REQUIRED: … # x402 (stablecoins)
Lightning Agent Tools (lnget, MCP)
Lightning Labs
ЭкспериментальноСемь навыков и MCP-сервер: запуск ноды LND, оплата L402-API через CLI lnget (с лимитом на запрос), платные эндпоинты через Aperture, макаруны с ограниченными правами и 18 MCP-инструментов только для чтения состояния ноды через Lightning Node Connect.
Вышли в феврале 2026; новые и быстро меняются. Ключи по умолчанию на удалённом подписанте.
# pay-per-request download, never more than 500 sats
lnget --max-cost 500 https://api.example.com/data.json
# read-only Lightning MCP server for an AI assistant
claude mcp add --transport stdio lnc -- npx -y @lightninglabs/lightning-mcp-server
Nostr Wallet Connect (NIP-47)
Nostr NIPs; Alby and others
В работеКошелёк выдаёт приложению (или агенту) строку подключения. Приложение отправляет зашифрованные события Nostr (kind 23194) с запросами pay_invoice, make_invoice или get_balance, кошелёк отвечает событием kind 23195. У каждого подключения свой бюджет и права, его можно отозвать, а ключей кошелька агент не получает.
Широко поддерживается кошельками и приложениями (Alby Hub, Primal, Zeus и другие, см. nwc.dev).
import { NWCClient } from "@getalby/sdk";
const nwc = new NWCClient({
nostrWalletConnectUrl: process.env.NWC_URL, // nostr+walletconnect://…
});
await nwc.payInvoice({ invoice: "lnbc…" }); // within the budget set in the wallet
Alby Hub + Alby MCP server
Alby
Бета / ранняя работаAlby Hub запускает вашу Lightning-ноду или кошелёк и выдаёт NWC-подключения с бюджетами. MCP-сервер Alby превращает такое подключение в инструменты для LLM: оплатить и выставить инвойс, проверить баланс, заплатить на Lightning-адрес и получить ресурс за L402.
Alby Hub — рабочий некастодиальный узел/кошелёк; MCP-сервер новее (облачный или через npx).
# hosted MCP, authenticated by an NWC connection with a budget
claude mcp add --transport http alby https://mcp.getalby.com/mcp \
--header "Authorization: Bearer nostr+walletconnect://…"
# or locally: npx -y @getalby/mcp
Lightning MCP servers
Lightning Labs, Alby, Fewsats, others
ЭкспериментальноMCP — способ, которым ассистенты вроде Claude или ChatGPT вызывают внешние инструменты. Lightning-MCP-сервер показывает ноду или кошелёк как набор инструментов: у Lightning Labs — только чтение состояния ноды, у Alby — платежи через NWC с бюджетом, у Fewsats — оплата L402-офферов из управляемого кошелька.
Сам протокол MCP молодой; серверы кошельков сильно различаются по правам. Выбирайте только чтение или подключения с бюджетом.
{ "mcpServers": {
"alby": { "command": "npx", "args": ["-y", "@getalby/mcp"],
"env": { "NWC_CONNECTION_STRING": "nostr+walletconnect://…" } },
"fewsats": { "command": "uvx", "args": ["fewsats-mcp"] } } }
BOLT12 offers
Lightning spec (BOLTs); author Rusty Russell
В работеОффер (lno1…) — многоразовый платёжный код: кошелёк плательщика каждый раз получает свежий инвойс через onion-сообщения. Удобно агенту, который выставляет счета регулярно или получает от многих, не держа веб-сервер, а слепые маршруты скрывают ноду получателя.
В спецификации BOLT с 2024 года; встроено в Core Lightning, Eclair/Phoenix и LDK. Для LND нужен отдельный LNDK.
# Core Lightning: one reusable offer, any amount
lightning-cli offer any "agent tips"
# → { "bolt12": "lno1qgsq…", … } (shareable, never expires unless you set it)
Cashu ecash (NUT specs)
Cashu (open source; creator calle)
Бета / ранняя работаМинт выпускает «слепые» токены ecash, обеспеченные биткоинами у него на хранении; токен — строка на предъявителя, её агент может передать в заголовке, приватно и мгновенно. NUT-24 описывает заголовок X-Cashu для оплат через 402. Компромисс: минт кастодиальный, держите там мелкие суммы.
Базовые NUT реализованы в нескольких кошельках и минтах; NUT-24 (HTTP 402) описан, но реализаций в списке пока нет: экспериментально.
→ 402 Payment Required
X-Cashu: creqA… # amount, unit, accepted mints (NUT-18)
GET /v1/data
X-Cashu: cashuB… # the token itself is the payment
Fedimint
Fedimint (open source; creator Eric Sirion)
Бета / ранняя работаКак Cashu, но минт — федерация из нескольких хранителей с порогом, так что ни один оператор не может сбежать с деньгами. fedimint-clientd даёт серверу или агенту REST API для ecash, Lightning и ончейна.
Федерации и приложение Fedi работают; серверное использование агентами через fedimint-clientd пока раннее.
fedimint-clientd --fm_db_path /var/fm --password "$PW" --invite_code "fed11…"
curl http://localhost:3333/v2/admin/info -H "Authorization: Bearer $PW"
Routstr
Routstr (open source)
ЭкспериментальноМаркетплейс ИИ-инференса: провайдеры объявляют модели в Nostr, клиенты платят за каждый запрос через Cashu. Routstr Core — прокси перед любым OpenAI-совместимым API, поэтому клиент просто подставляет Cashu-токен вместо API-ключа.
Молодой протокол; провайдеры и модели меняются.
from openai import OpenAI
client = OpenAI(base_url="https://api.routstr.com/v1",
api_key="cashuBo2Ft…") # ecash token = prepaid key
client.chat.completions.create(model="…", messages=[…])
Сотни известных моделей за OpenAI-совместимым API, оплата за каждый запрос вместо подписки. Часть эндпоинтов отвечает на запрос без авторизации кодом 402 с Lightning-инвойсом.
Рабочий сервис оплаты за запрос. L402 без аккаунта — только для картинок, видео и данных; для чата нужен API-ключ и баланс (пополнение через Lightning или NWC).
curl -i -X POST https://api.ppq.ai/v1/images/generations -d '{…}'
# → 402 + Lightning invoice; pay, then replay with:
# Authorization: L402 <token>:<preimage>
Платёжная инфраструктура для агентов на основе своего формата L402-офферов (JSON-офферы в ответе 402): агент просит оплатить, Fewsats проверяет бюджет и подтверждение человека и платит через Lightning (или другим способом). Есть Python SDK с инструментами для агентов и MCP-сервер.
Сервис стартапа: управляемый кошелёк с бюджетами и подтверждениями, не самостоятельное хранение.
from fewsats.core import Fewsats
fs = Fewsats() # your Fewsats API key
offer = l402_offer["offers"][0] # JSON offers from the 402 reply
fs.pay_offer(offer["id"], l402_offer) # budget + approval rules apply
tools = fs.as_tools() # same, as tools for an agent
x402
Coinbase → x402 Foundation
Не биткоин: для сравненияТа же идея HTTP 402: сервер перечисляет способы оплаты, клиент подписывает перевод стейблкоина и отправляет его в заголовке, а фасилитатор проверяет и проводит. Здесь для сравнения: агентам удобно в долларах, но ценой эмитента, который может заморозить средства.
Работает и растёт, но расчёты в основном в стейблкоине USDC на сетях вроде Base и Solana, а не в биткоине. Эмитент может заморозить USDC.
app.use(paymentMiddleware({
"GET /weather": { accepts: [/* USDC on Base, … */], description: "Weather data" },
}));