local402
🔒 local402
Платежный шлюз для AI-агентов одной командой
Превратите любой локальный сервер в платный ресурс за секунды. Идеально для тестирования агентов, которым нужно платить за доступ к вашему API или MCP-инструменту.
npx local402 --target http://localhost:3000 --price 0.001
Что это такое?
local402 устанавливает x402-стиль HTTP 402 Payment Required перед любым локальным HTTP-сервером или MCP-инструментом — одной командой, без настройки и без блокчейна.
Запросы без оплаты получают чистый 402. Запросы, которые «платят», проксируются напрямую к вашему реальному серверу. Вот и всё.
По умолчанию он работает в полностью симулированном режиме: без кошельков, без газа, без внешних сервисов, без ожидания. Просто мгновенные, детерминированные 402-ответы для локальной разработки и тестирования.
agent ──▶ local402 (402 paywall) ──▶ your server
│
└── no payment? → 402 Payment Required
paid? → proxied response ✅Related MCP server: x402 MCP Proxy
💸 Зачем нужен local402?
Агенты учатся платить за вещи — вызовы API, выполнение инструментов, данные, вычисления. Протокол x402 делает нативные платежи через HTTP реальностью. Но есть проблема:
Как тестировать платящего агента без траты реальных денег, создания кошелька или подключения целого платежного стека — каждый раз?
Вам не нужно разворачивать фасилитатора и пополнять тестовый кошелек только для того, чтобы проверить, заметил ли ваш агент 402 и повторил ли запрос с оплатой. Вам нужен платежный шлюз, который можно поднять одной командой и так же быстро убрать.
Это local402.
Без local402 | С local402 |
Развернуть фасилитатора + кошелек + средства тестовой сети |
|
Реальные транзакции при каждом запуске теста | Мгновенно, бесплатно, детерминированно |
Задержка блокчейна в тестовом цикле | 0 мс — всё локально |
Платежная логика, встроенная в приложение | Один реверс-прокси перед ним |
Сложно воспроизвести путь «без оплаты» | Гарантированный |
Используйте это для:
✅ Тестирования, что ваш AI-агент обрабатывает
402и повторяет запрос с заголовкомx-payment✅ Демонстрации API или MCP-инструмента с оплатой за вызов без касания блокчейна
✅ Разработки клиентской логики x402 офлайн, в самолете, в CI
✅ Прототипирования ценовой политики перед переходом на реальные расчеты
⚡ Быстрый старт
Вам даже не нужно его устанавливать.
# 1. Have any local server running (your API, MCP tool, whatever)
# e.g. something on http://localhost:3000
# 2. Put a paywall in front of it
npx local402 --target http://localhost:3000 --price 0.001local402 теперь слушает на http://localhost:4020 и защищает ваш сервер.
# ❌ No payment → 402 Payment Required
curl -i http://localhost:4020/
# ✅ "Pay" → request is proxied to your real server
curl -i http://localhost:4020/ -H "x-payment: simulated"Направьте своего агента на http://localhost:4020 вместо вашего реального сервера и наблюдайте, как он учится платить. 🎉
🛠 Использование
local402 --target <url> [options]Флаг | Алиас | По умолчанию | Описание |
|
| (обязательно) | Сервер для защиты, например |
|
|
| Порт, на котором слушает local402 |
|
| Цена, рекламируемая в ответе | |
|
| Валюта / метка актива для цены | |
|
| Режим симуляции — без блокчейна, мгновенно (по умолчанию) | |
| Зарезервировано для реального расчета x402 (скоро) | ||
| Отключить цветной вывод в консоли |
Правило
Без заголовка
x-payment→402 Payment Required(с информативным JSON-телом + заголовками).С заголовком
x-payment: simulated(илиpaid) → запрос проксируется на--target, и реальный ответ возвращается без изменений.
В режиме симуляции принимается любое непустое значение x-payment — simulated и paid — просто канонические варианты.
Примеры
# Guard an MCP tool on a custom port, charge 0.01
local402 --target http://localhost:8787 --port 9000 --price 0.01
# Free status check — always open, never paywalled
curl http://localhost:4020/__local402🔍 Как это работает
local402 — это крошечный реверс-прокси с одним принципом: сначала плати, затем пропускай.
┌──────────────────────────────┐
│ local402 │
│ :4020 (paywall) │
┌─────────┐ │ │ ┌──────────────┐
│ agent │ ───────▶ │ x-payment header present? │ │ your server │
│ / curl │ │ │ │ :3000 │
└─────────┘ │ NO ─▶ 402 Payment Required │ └──────────────┘
▲ │ │ ▲
│ │ YES ─▶ proxy the request ──┼─────────────────┘
│ │ return real response │ │
└───────────────┤◀──────────────────────────────┼─────────────────┘
402 or proxied response │
└──────────────────────────────┘Ответ без оплаты (HTTP 402):
{
"x402Version": 1,
"error": "Payment Required",
"message": "This resource costs 0.001 USD. Retry with header 'x-payment: simulated'.",
"accepts": [
{
"scheme": "simulated",
"network": "local",
"maxAmountRequired": "0.001",
"asset": "USD",
"payTo": "local402-simulated",
"resource": "/",
"description": "local402 simulated paywall",
"mimeType": "application/json"
}
],
"hint": "x-payment: simulated"
}Заголовки ответа при 402:
HTTP/1.1 402 Payment Required
x-payment-required: true
x-payment-amount: 0.001
x-payment-asset: USD
x-payment-network: local
accept-payment: x-payment: simulatedПри оплаченном запросе local402 добавляет симулированную квитанцию о расчете, чтобы ваш клиент мог проверить поток end-to-end:
x-payment-response: <base64 JSON receipt with a sim txHash>🗺 План развития
local402 изначально простой по замыслу. План:
v0.1 — Режим симуляции. Мгновенный, локальный, безблокчейн-платежный шлюз
402. (вы здесь)v0.2 — Реальный расчет x402. Проверка фактических полезных нагрузок
X-PAYMENTчерез подключаемого фасилитатора.v0.3 — Режим MCP. Первоклассный платежный шлюз для MCP-инструментов/ресурсов, а не только HTTP.
v0.4 — Ценообразование по маршрутам. Разные цены для разных путей и методов.
v0.5 — Панель использования. Живой TUI-интерфейс запросов, платежей и дохода.
Хотите повлиять на направление? Откройте issue.
🤝 Участие
Приветствуются любые вклады, идеи и сообщения об ошибках — это дружественный маленький инструмент.
git clone https://github.com/wushu75/local402.git
cd local402
npm install
npm run dev -- --target http://localhost:3000 # run from source
npm run build # compile to dist/Форкните 🍴
Создайте ветку (
git checkout -b feat/удивительная-штука)Зафиксируйте изменения (
git commit -m 'feat: удивительная штука')Отправьте и откройте PR
Нет слишком маленьких вкладов — даже исправление опечатки помогает.
📄 Лицензия
MIT © участники local402. Делайте с ним всё, что хотите.
⭐ Поставьте звезду репозиторию, если это полезно
Если local402 избавил вас от необходимости разворачивать платежный стек только для тестирования агента,
поставьте звезду — это действительно помогает другим людям найти его.
⭐ Поставить звезду local402 на GitHub
Создано для агентов, которые платят за свой путь. 🔒
This server cannot be deployed
Maintenance
Related MCP Connectors
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
Agent x402 Paywall MCP — Coinbase HTTP 402 protocol + on-chain settlement. Agents pay per-call
Pay-per-action access to APIs and MCP tools over Lightning L402 and Base USDC x402.
Test any x402 paid URL without paying: 402, PAYMENT-REQUIRED, USDC, amounts, payTo, EIP-712, CORS.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAg402 is the payment layer for Coinbase's x402 protocol. Wrap any API or MCP server with a paywall in one command (ag402 serve), or let your AI agent auto-pay for paid APIs (ag402 run). Zero code changes for both buyers and sellers. Solana USDC, ~0.5s settlement, non-custodial, 648+ tests, MIT licensed. Works with Claude Code, Cursor, OpenClaw, LangChain, AutoGen, CrewAI out of the box.9MIT
- AlicenseNot gradedqualityDmaintenanceA local MCP proxy that connects to remote MCP servers and automatically handles x402 payments, signing USDC on-chain when a tool returns HTTP 402.10 npm1MIT

mcp-x402-acceptofficial
AlicenseNot gradedqualityCmaintenanceProxies an existing MCP server to add an x402 paywall, charging AI agents per tool call without modifying the upstream server.15 npmMIT- AlicenseAqualityCmaintenanceEnables AI agents to discover and pay for x402-gated HTTP APIs, handling 402 Payment Required flows with local signing. Supports EVM and Solana with non-custodial wallet management.367 npmMIT