Skip to main content
NEW · APP STORE Now on iOS · macOS · iPad Android & Windows soon GET IT
Prompts x402 Express USDC Payment Integrator

agent coding skill risk: high

x402 Express USDC Payment Integrator

This prompt teaches how to install and use the x402-express wrapper middleware to add USDC micropayment requirements to Express API routes on Base L2, including code samples and en…

  • Policy sensitive
  • Human review
  • External action: medium

SKILL 1 file

SKILL.md
---
name: antigravity-awesome-skills-x402-express-wrapper
description: "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."
---
# 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:
1. "Agregar una barrera de pago a la API".
2. "Monetizar el servidor MCP que acabamos de crear".
3. "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):
```bash
npm install x402-express ethers
```

## 🛠️ Implementación

Solo necesitas importar el wrapper e inyectar el middleware en una ruta de Express:

```javascript
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)
1. **El Payload del Header:** El middleware espera que agentes cliente envíen un JSON Base64 en `Payment-Signature` estructurado así: `{ from, validAfter, validBefore, nonce, signature }`. 
2. **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 que `RELAYER_PRIVATE_KEY` tenga 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.

REQUIRED CONTEXT

  • user request to add payment barrier or monetize MCP server

ROLES & RULES

  1. NO INTENTES inyectar una dirección de contrato externa
  2. ESTRICTAMENTE se requiere que RELAYER_PRIVATE_KEY tenga gas (ETH)
  3. asegúrate siempre de usar este standard y verificar que sus variables de entorno de .env coincidan con el wrapper

EXPECTED OUTPUT

Format
markdown
Constraints
  • include installation steps
  • provide code example
  • list environment requirements

SUCCESS CRITERIA

  • Install x402-express and ethers via npm
  • Instantiate X402Wrapper with required rpcUrl, privateKey and recipient
  • Apply x402.requirePayment middleware to chosen routes
  • Ensure RELAYER_PRIVATE_KEY has ETH gas on Base L2

FAILURE MODES

  • May fail if required environment variables are missing
  • May fail if RELAYER_PRIVATE_KEY lacks gas balance
  • May reject attempts to supply external escrow addresses

EXAMPLES

Includes one bash install command and one complete Express middleware integration code sample.

CAVEATS

Dependencies
  • Requires RELAYER_PRIVATE_KEY and MY_WALLET_ADDRESS environment variables
  • Requires gas (ETH) balance on Base L2 for the relayer key
Missing context
  • Target Node.js and Express versions
  • Example .env file contents
  • Error handling or logging expectations
Ambiguities
  • Does not specify the exact error message or type thrown when attempting to inject an external escrow address.
  • Does not detail how to verify that .env variables match the wrapper requirements.

QUALITY

OVERALL
0.62
CLARITY
0.72
SPECIFICITY
0.78
REUSABILITY
0.28
COMPLETENESS
0.68

IMPROVEMENT SUGGESTIONS

  • Replace hardcoded package name and repo references with placeholders to increase reusability.
  • Add a short success criteria section (e.g., 'After integration, a paid request returns 200 with receipt').

USAGE

Copy the prompt above and paste it into your AI of choice — Claude, ChatGPT, Gemini, or anywhere else you're working. Replace any placeholder sections with your own context, then ask for the output.

MORE FOR AGENT