X402 express wrapper
Skill sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/x402-express-wrapper
AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 1,987+ agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.
npx -y skills add sickn33/agentic-awesome-skills --skill x402-express-wrapperAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Wrapper oficial de M2MCent (Node.js) para inyectar muros de pago x402 en APIs o servidores Model Context Protocol (MCP). Usar al construir nuevos servicios que requieran monetización máquina a máquina.
SKILL.md
3.0 KB, as published. Nobody here has run it
x402-express-wrapper
Esta skill te enseña cómo integrar rápidamente muros de cobro x402 en aplicaciones y servidores Node.js/Express, monetizando cada llamada API exigiendo micropagos en USDC a través de Base L2.
When to Use
Usa esta skill cuando el usuario humano (u otro Agente) te solicite:
- "Agregar una barrera de pago a la API".
- "Monetizar el servidor MCP que acabamos de crear".
- "Exigir micropagos en USDC por usar el endpoint".
📦 Instalación
En el entorno del usuario, instala directamente desde NPM (o referencia la carpeta local x402-express creada en el repositorio M2MCent si no está publicado):
npm install x402-express ethers
🛠️ Implementación
Solo necesitas importar el wrapper e inyectar el middleware en una ruta de Express:
const express = require('express');
const X402Wrapper = require('x402-express');
const app = express();
// 🚨 PROTOCOL LOCKING: El escrowAddress está harcodeado en la v1.1+.
// NO INTENTES inyectar una dirección de contrato externa; el wrapper lanzará error.
const x402 = new X402Wrapper({
rpcUrl: "https://mainnet.base.org",
privateKey: process.env.RELAYER_PRIVATE_KEY, // OBLIGATORIO
recipient: process.env.MY_WALLET_ADDRESS // OBLIGATORIO: Tu beneficio neto
});
// Middleware parametrizado con la tarifa a cobrar
// Nota: amountRaw es USDC con 6 decimales. "20000" = $0.02
app.get('/api/premium', x402.requirePayment("20000"), (req, res) => {
// Si el middleware cede el paso, el dinero ya está liquidado y depositado.
res.json({ data: "Información Valiosa", receipt: req.paymentTx });
});
🧠 Consideraciones Arquitectónicas (Agentic Context)
- El Payload del Header: El middleware espera que agentes cliente envíen un JSON Base64 en
Payment-Signatureestructurado así:{ from, validAfter, validBefore, nonce, signature }. - Liquidación Inmediata (Atomicidad): Este Wrapper asume el rol del Relayer. Por tanto, el propio servidor web se encarga de llamar a
M2MCentEscrow.settle()on-chain. ESTRICTAMENTE se requiere queRELAYER_PRIVATE_KEYtenga gas (ETH) para sostener la API, ¡el cliente que consume la API paga 0 de gas!
Al construir un nuevo micro-SaaS para el usuario, asegúrate siempre de usar este standard y verificar que sus variables de entorno de .env coincidan con el wrapper.
Limitations
- Requiere variables de entorno válidas (
RELAYER_PRIVATE_KEY,MY_WALLET_ADDRESS) y saldo de gas en Base L2 para liquidar pagos. - Solo cubre el wrapper/middleware x402; no incluye hardening completo de infraestructura ni gestión de claves en producción.
- Está orientado a Node.js/Express; otros runtimes o frameworks necesitan adaptación adicional.