AgentKit x402

API de utilidad de pago por llamada para agentes sobre x402 (USDC en Base): verificaciones de correo/dominio, auditoría DMARC, auditoría de sitio, URL a markdown, validadores IBAN.

Servidor MCP alojado

npx add-mcp 'https://agentkit-x402.erikssonanton2001.workers.dev/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

API de utilidad de pago por llamada y servidor MCP remoto para agentes de IA en Cloudflare Workers, pagado en USDC mediante x402: validación de correo electrónico, SPF/DMARC, DNS, contactos de sitios web, URL a Markdown, IBAN, validadores suecos.

  • JavaScript 100%

moneyman-code 88fdc131ef x402: build payment middleware per request (cached init promise can hang across requests in workerd)

2026-10-17 02:39:31 +02:00
registryx402: build payment middleware per request (cached init promise can hang across requests in workerd)2026-10-17 02:39:31 +02:00
scriptsAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
shimsAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
srcx402: build payment middleware per request (cached init promise can hang across requests in workerd)2026-10-17 02:39:31 +02:00
testAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
testlibAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
.gitignoreAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
LICENSEAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
package-lock.jsonAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
package.jsonAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00
README.mdAgentKit x402: pay-per-call API and MCP server for AI agents2026-10-16 19:51:54 +02:00

AgentKit x402

Dale a un agente de IA herramientas pequeñas y componibles sin cuenta ni clave API: valida un correo electrónico antes de enviarlo, inspecciona SPF/DMARC/DKIM, consulta DNS, convierte una página pública en Markdown, extrae contactos publicados, audita SEO, valida IBAN o maneja personnummer, orgnr, bankgiro y cálculos de días bancarios suecos. Cada solicitud es un GET HTTP que devuelve JSON y se paga en USDC en Base con x402 v2.

Precios y endpoints

EndpointPrecioCaso de uso
/v1/email-check?email=$0.002Sintaxis, indicadores de desechable/rol/proveedor gratuito, sugerencia de errores tipográficos y comprobaciones MX/A
/v1/email-auth?domain=$0.01Auditoría de SPF, DMARC, selector DKIM, MX, BIMI, MTA-STS y TLS-RPT
/v1/domain-dns?domain=$0.005Registros A, AAAA, NS, MX, TXT, CAA, SOA, CNAME, DNSSEC
/v1/site-contacts?url=$0.02Correos electrónicos, teléfonos, redes sociales, pistas de dirección y números de organización suecos publicados
/v1/site-audit?url=$0.02Auditoría técnica SEO y tecnológica de una página
/v1/url-markdown?url=$0.005HTML estático a Markdown limpio para un LLM
/v1/se/validate?type=&value=$0.001Personnummer, samordningsnummer, orgnr, bankgiro, plusgiro y OCR suecos
/v1/iban?iban=$0.001Validación de formato IBAN y mod-97
/v1/se/account-to-iban?clearing=&account=$0.002Cuenta sueca a IBAN/BIC con suma de verificación
/v1/bank-days?from=&add=$0.001Aritmética de días bancarios suecos

Los ejemplos estáticos son gratuitos en /v1/demo/{slug}. Los documentos de descubrimiento son /openapi.json, /llms.txt y /.well-known/x402.

MCP

El endpoint MCP remoto es https://agentkit-x402.erikssonanton2001.workers.dev/mcp (HTTP transmisible, JSON-RPC 2.0). Claude Desktop o Cursor pueden usar el puente mcp-remote:

{
  "mcpServers": {
    "agentkit-x402": {
      "command": "npx",
      "args": ["mcp-remote", "https://agentkit-x402.erikssonanton2001.workers.dev/mcp"]
    }
  }
}

Las herramientas gratuitas incluyen pricing y demo. Las herramientas de pago devuelven requisitos de pago cuando se llaman sin PAYMENT-SIGNATURE; reenvía la solicitud MCP con un payload de pago x402 v2 o llama al endpoint REST directamente. La mayoría de los clientes MCP no pueden firmar pagos x402, así que usa un cliente compatible con x402 (por ejemplo, un wrapper de @x402/fetch) al llamar a herramientas de pago.

Pago: 402 → firmar → reintentar

Una llamada no pagada devuelve intencionalmente 402 Payment Required; no cobra nada.

# 1. Request the resource and save/read the PAYMENT-REQUIRED header.
curl -i 'https://agentkit-x402.erikssonanton2001.workers.dev/v1/email-check?email=anna@example.com'

# 2. Have an x402 v2 exact-scheme client sign that header's requirements
#    with a wallet funded in USDC on Base. The signature is request-specific.

# 3. Retry with the client-produced header (placeholder shown here).
curl -i \
  -H 'PAYMENT-SIGNATURE: <base64 x402 v2 payment signature>' \
  'https://agentkit-x402.erikssonanton2001.workers.dev/v1/email-check?email=anna@example.com'

En JavaScript, el wrapper oficial de fetch de x402 realiza los pasos 1–3:

import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const signer = privateKeyToAccount(process.env.PRIVATE_KEY);
const client = new x402Client().register("eip155:*", new ExactEvmScheme(signer));
const payFetch = wrapFetchWithPayment(fetch, client);
const response = await payFetch(
  "https://agentkit-x402.erikssonanton2001.workers.dev/v1/email-check?email=anna@example.com"
);
console.log(await response.json());

Python

Usa cualquier cliente/biblioteca de wallet de Python compatible con x402 que ya uses. El flujo del protocolo es HTTP ordinario: haz el GET con requests, lee el encabezado base64 PAYMENT-REQUIRED en el 402, firma sus requisitos exactos con una wallet de Base, y luego reintenta con PAYMENT-SIGNATURE.

import requests

url = "https://agentkit-x402.erikssonanton2001.workers.dev/v1/iban?iban=GB82WEST12345698765432"
first = requests.get(url)
if first.status_code == 402:
    requirements = first.headers["PAYMENT-REQUIRED"]
    signature = sign_x402_exact(requirements)  # supplied by your x402 client
    result = requests.get(url, headers={"PAYMENT-SIGNATURE": signature})
else:
    result = first
result.raise_for_status()
print(result.json())

Financiar USDC en Base

  1. Usa una wallet que admita Base y el esquema exacto de x402.
  2. Adquiere USDC y selecciona Base como red al retirar o hacer puente; no lo envíes en Ethereum u otra cadena.
  3. Financia la dirección de wallet usada por tu firmante con suficiente USDC para las llamadas que esperas (más una pequeña cantidad de ETH de Base para transacciones de wallet si tu wallet lo requiere).
  4. Comienza con una respuesta gratuita de /v1/demo/{slug}, luego haz una solicitud de pago. Los requisitos del 402 y /.well-known/x402 identifican la red, el contrato USDC y la dirección de pago para el despliegue.

Errores y cobros

El pago se liquida solo para respuestas HTTP 2xx. Cada JSON de error incluye charged: false; un 402 tampoco se cobra porque aún no se ha aceptado ningún pago.

Estado HTTPCódigos de error¿Se cobra?
400missing_*, invalid_* (incluyendo invalid_url, invalid_email, invalid_domain, invalid_iban, invalid_input, invalid_type, invalid_value, invalid_from, invalid_add, invalid_mode)No
403blocked_by_robotsNo
404domain_not_found o ruta desconocidaNo
402Pago requerido / pago inválido o faltanteNo
502upstream_error, robots_unavailable, redirect_blocked, dns_unavailableNo
504upstream_timeoutNo
500internal_errorNo

Límites y notas honestas

  • Las comprobaciones de correo electrónico son solo sintaxis, listas y DNS (incluyendo MX/A); no realizan una conexión SMTP, por lo que la entregabilidad del buzón no se confirma.
  • No se renderiza JavaScript. Las páginas están limitadas a 1.5 MB, aproximadamente 6 solicitudes salientes por llamada y un tiempo de espera de 8 segundos. robots.txt se respeta.
  • Los validadores suecos verifican formatos y sumas de verificación; no prueban que exista una persona, empresa o cuenta. DNS usa un resolver de Cloudflare DoH.
  • El servicio no tiene almacenamiento a nivel de aplicación ni base de datos KV/D1. La extracción de contactos devuelve solo información que un sitio publica; los llamantes siguen siendo responsables del uso legal (incluido el GDPR).
  • Se ejecuta en el plan gratuito de Cloudflare Workers; pueden ocurrir límites de tasa, límites de CPU y fallos ascendentes. Las llamadas fallidas HTTP 4xx/5xx no se liquidan.

Desarrollo

npm test          # builds dist/worker.js, then runs node --test (no network needed)
npm run build     # esbuild bundle
npm run make-deploy

Variables opcionales del Worker: PAY_TO, NETWORK (por defecto eip155:8453), FACILITATOR_URL y PUBLIC_BASE_URL. El bundle incluye un shim mínimo de Buffer porque el Worker se despliega sin nodejs_compat.

Atribución y licencia

Los datos de dominios desechables provienen del proyecto bulk-email-verifier-mx. Los validadores suecos, los datos de compensación y la lógica de calendario están adaptados de SweKit (https://codeberg.org/moneyman-code/swekit-api). Fuente: https://codeberg.org/moneyman-code/agentkit-x402. MIT; ver LICENSE.