local402
🔒 local402
Barrera de pago local en un solo comando para agentes de IA
Convierte cualquier servidor local en un recurso de pago en segundos. Perfecto para probar agentes que necesitan pagar antes de acceder a tu API o herramienta MCP.
npx local402 --target http://localhost:3000 --price 0.001
¿Qué es esto?
local402 coloca una barrera de pago HTTP 402 Payment Required al estilo x402 frente a cualquier servidor HTTP local o herramienta MCP — con un solo comando, sin configuración y sin blockchain.
Las solicitudes sin pago reciben un 402 limpio. Las solicitudes que "pagan" se redirigen directamente a tu servidor real. Eso es todo.
Funciona en modo completamente simulado por defecto: sin carteras, sin gas, sin servicios externos, sin esperas. Solo 402 instantáneos y deterministas que puedes construir y probar localmente.
agent ──▶ local402 (402 paywall) ──▶ your server
│
└── no payment? → 402 Payment Required
paid? → proxied response ✅Related MCP server: x402 MCP Proxy
💸 ¿Por qué local402?
Los agentes están aprendiendo a pagar por cosas — llamadas a API, invocaciones de herramientas, datos, cómputo. El protocolo x402 hace realidad los pagos nativos de HTTP. Pero hay una brecha:
¿Cómo pruebas un agente que paga sin gastar dinero real, configurar una cartera o cablear todo un stack de pagos — cada vez?
No quieres desplegar un facilitador y financiar una cartera de testnet solo para comprobar que tu agente nota un 402 y reintenta con pago. Quieres una barrera de pago que puedas levantar en un comando y derribar igual de rápido.
Eso es local402.
Sin local402 | Con local402 |
Levantar un facilitador + cartera + fondos de testnet |
|
Transacciones reales en cada ejecución de prueba | Instantáneo, gratuito, determinista |
Latencia de blockchain en tu bucle de prueba | 0ms — todo es local |
Lógica de pago enredada en tu aplicación | Un proxy inverso delante de ella |
Difícil de reproducir la ruta "no pagada" |
|
Úsalo para:
✅ Probar que tu agente de IA maneja
402y reintenta con un encabezadox-payment✅ Demostrar una API o herramienta MCP de "pago por llamada" sin tocar una cadena
✅ Desarrollar lógica de cliente x402 sin conexión, en un avión, en CI
✅ Prototipar precios antes de comprometerte con una liquidación real
⚡ Inicio rápido
Ni siquiera necesitas instalarlo.
# 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 ahora está escuchando en http://localhost:4020 y protegiendo tu servidor.
# ❌ 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"Apunta tu agente a http://localhost:4020 en lugar de tu servidor real, y míralo aprender a pagar. 🎉
🛠 Uso
local402 --target <url> [options]Banderas | Alias | Por defecto | Descripción |
|
| (requerido) | El servidor a proteger, ej. |
|
|
| Puerto en el que escucha local402 |
|
| Precio anunciado en la respuesta | |
|
| Etiqueta de moneda/activo para el precio | |
|
| Modo simulado — sin blockchain, instantáneo (por defecto) | |
| Reservado para liquidación real x402 (próximamente) | ||
| Deshabilitar salida de consola coloreada |
La regla
Sin encabezado
x-payment→402 Payment Required(con un cuerpo JSON útil + encabezados).Tiene
x-payment: simulated(opaid) → la solicitud se redirige a--target, y la respuesta real regresa sin cambios.
En modo simulado, se acepta cualquier valor x-payment no vacío — simulated y paid son solo los canónicos.
Ejemplos
# 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🔍 Cómo funciona
local402 es un pequeño proxy inverso con una opinión: paga primero, luego pasa.
┌──────────────────────────────┐
│ 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 │
└──────────────────────────────┘La respuesta no pagada (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"
}Encabezados de respuesta en un 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: simulatedEn una solicitud pagada, local402 adjunta un recibo de liquidación simulado para que tu cliente pueda verificar el flujo de extremo a extremo:
x-payment-response: <base64 JSON receipt with a sim txHash>🗺 Hoja de ruta
local402 comienza simple a propósito. El plan:
v0.1 — Modo simulado. Barrera de pago
402instantánea, local y sin blockchain. (estás aquí)v0.2 — Liquidación real x402. Verificar cargas útiles reales de
X-PAYMENTa través de un facilitador conectable.v0.3 — Modo nativo MCP. Barrera de pago de primera clase para herramientas/recursos MCP, no solo HTTP.
v0.4 — Precios por ruta. Diferentes precios para diferentes rutas y métodos.
v0.5 — Panel de uso. TUI en vivo de solicitudes, pagos e ingresos.
¿Quieres darle forma? Abre un issue.
🤝 Contribuciones
Las contribuciones, ideas e informes de errores son bienvenidos — esta herramienta pretende ser amigable y pequeña.
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/Haz un fork 🍴
Crea una rama (
git checkout -b feat/amazing-thing)Confirma tus cambios (
git commit -m 'feat: amazing thing')Haz push y abre un PR
Ninguna contribución es demasiado pequeña — incluso corregir un error tipográfico ayuda.
📄 Licencia
MIT © los contribuyentes de local402. Haz lo que quieras con ello.
⭐ Dale estrella al repositorio si es útil
Si local402 te salvó de levantar un stack de pagos solo para probar un agente,
dale una estrella — realmente ayuda a que otras personas lo encuentren.
⭐ Dale estrella a local402 en GitHub
Construido para los agentes que pagan su camino. 🔒
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 gradedqualityCmaintenanceA local MCP proxy that connects to remote MCP servers and automatically handles x402 payments, signing USDC on-chain when a tool returns HTTP 402.7 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.49 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.364 npmMIT