Communitygithub.com

agent-payment-x402

Agrega ejecución de pagos x402 a agentes de IA con presupuestos por tarea, controles de gasto y billeteras no custodiadas. Soporta Base a través de agentwallet-sdk y X Layer mediante OKX Payments / Protocolo de Pagos de OKX Agent. Úsalo cuando un agente deba pagar algo por sí mismo y necesite presupuestos por tarea, controles de gasto y una billetera no custodiada.

¿Qué es agent-payment-x402?

Este skill permite que agentes de IA realicen pagos dentro de políticas definidas, utilizando el protocolo HTTP x402 y herramientas MCP. Está diseñado para agentes que necesitan pagar por llamadas API, comprar servicios, liquidar pagos con otros agentes o gestionar billeteras no custodiadas, todo con controles de gasto integrados. Soporta las redes Base (a través de agentwallet-sdk) y X Layer (mediante OKX Agent Payments Protocol), ofreciendo opciones tanto para el lado comprador como vendedor. Su funcionamiento se basa en el protocolo x402, que extiende el código de estado HTTP 402 (Pago Requerido) para crear un flujo negociable entre máquinas, donde la herramienta de pago del agente negocia el precio, verifica el presupuesto, firma una transacción y reintenta solo dentro de los límites de política establecidos por el orquestador. Cada llamada a la herramienta de pago aplica una SpendingPolicy que incluye presupuesto por tarea, presupuesto por sesión, destinatarios autorizados y límites de tasa, garantizando que el agente solo pueda gastar dentro de los límites definidos y sin riesgo de custodia de fondos compartidos.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/agent-payment-x402

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Ejecución de Pagos de Agente (x402)

Permite a los agentes de IA realizar pagos con control de políticas y controles de gasto integrados. Utiliza el protocolo de pago HTTP x402 y herramientas MCP para que los agentes puedan pagar por servicios externos, APIs u otros agentes sin riesgo de custodia.

Cuándo Usarlo

Úsalo cuando: tu agente necesite pagar por una llamada API, comprar un servicio, liquidar con otro agente, hacer cumplir límites de gasto por tarea, o gestionar una billetera no custodiada. Se combina naturalmente con los skills de cost-aware-llm-pipeline y security-review.

Árbol de Decisión

Elige la ruta de integración según si tu agente está comprando acceso a una API de pago o cobrando a otros por una:

NecesidadRuta recomendada
El agente paga una API con bloqueo 402 en Base u otra cadena compatible con agentwalletUsa agentwallet-sdk como servidor de pago MCP con una política de gasto estricta
El agente paga una API con bloqueo 402 en X LayerUsa el Protocolo de Pagos de OKX Agent desde okx/onchainos-skills; okx-x402-payment es un alias heredado obsoleto
API TypeScript cobra a agentesUsa la documentación del SDK de vendedor OKX Payments TypeScript para Express, Hono, Fastify o Next.js
API Go cobra a agentesUsa la documentación del SDK de vendedor OKX Payments Go para Gin, Echo o net/http
API Rust cobra a agentesUsa la documentación del SDK de vendedor OKX Payments Rust para Axum
API Java cobra a agentesUsa la documentación del SDK de vendedor OKX Payments Java para Spring Boot 2/3, Java EE o Jakarta
API Python cobra a agentesVerifica el repositorio actual de OKX Payments antes de la implementación; es posible que no haya una guía de vendedor Python disponible

Redes Soportadas

  • agentwallet-sdk: consulta la documentación del paquete para confirmar la cobertura de red actual antes de producción. Base Sepolia es la opción de desarrollo más segura; Base mainnet es la ruta de producción indicada por el skill original.
  • OKX Payments / X Layer: la documentación de vendedor actual apunta a X Layer (eip155:196) y liquidación USDT0. Obtén la documentación actual del SDK antes de generar código de producción, ya que los paquetes de pago y el comportamiento del facilitador pueden cambiar rápidamente.

Cómo Funciona

Protocolo x402

x402 extiende HTTP 402 (Pago Requerido) a un flujo negociable entre máquinas. Cuando un servidor devuelve 402, la herramienta de pago del agente negocia el precio, verifica el presupuesto, firma una transacción y reintenta solo dentro del límite de política y confirmación establecido por el orquestador.

Controles de Gasto

Cada llamada a la herramienta de pago aplica una SpendingPolicy:

  • Presupuesto por tarea — gasto máximo para una sola acción del agente
  • Presupuesto por sesión — límite acumulativo en toda una sesión
  • Destinatarios en lista blanca — restringe qué direcciones/servicios puede pagar el agente
  • Límites de tasa — máximo de transacciones por minuto/hora

Billeteras No Custodiadas

Los agentes poseen sus propias claves a través de cuentas inteligentes ERC-4337. El orquestador establece la política antes de la delegación; el agente solo puede gastar dentro de los límites. Sin fondos comunes, sin riesgo de custodia.

Integración MCP

La capa de pago expone herramientas MCP estándar que se integran en cualquier configuración de Claude Code o arnés de agente.

Nota de seguridad: Siempre fija la versión del paquete. Esta herramienta gestiona claves privadas — las instalaciones con npx sin fijar versión introducen riesgo en la cadena de suministro.

Opción A: agentwallet-sdk (Base / multi-cadena)

{
  "mcpServers": {
    "agentpay": {
      "command": "npx",
      "args": ["[email protected]"]
    }
  }
}

Herramientas Disponibles (invocables por el agente)

HerramientaPropósito
get_balanceConsultar el saldo de la billetera del agente
send_paymentEnviar pago a una dirección o ENS
check_spendingConsultar el presupuesto restante
list_transactionsRegistro de auditoría de todos los pagos

Nota: La política de gasto es establecida por el orquestador antes de delegar al agente, no por el agente mismo. Esto evita que los agentes aumenten sus propios límites de gasto. Configura la política mediante set_policy en tu capa de orquestación o en un hook previo a la tarea, nunca como una herramienta invocable por el agente.

Opción B: Protocolo de Pagos de OKX Agent (X Layer)

Usa esta ruta para x402 en X Layer, Pago Multipartito (MPP), pago por sesión, cobro y flujos de cobro A2A.

Para flujos de agente del lado comprador:

  1. Instala o referencia el repositorio actual de okx/onchainos-skills.
  2. Usa skills/okx-agent-payments-protocol/SKILL.md como despachador.
  3. Trata skills/okx-x402-payment/SKILL.md como un alias de compatibilidad obsoleto, no como el skill canónico.
  4. Exige confirmación explícita del usuario antes de verificaciones de estado de billetera o acciones de pago. No ocultes la ejecución de pagos detrás de una llamada genérica a una herramienta.

Para flujos de API del lado vendedor, obtén la guía más reciente específica del lenguaje antes de generar código:

Tiempo de ejecuciónGuía actual
TypeScripthttps://raw.githubusercontent.com/okx/payments/main/typescript/SELLER.md
Gohttps://raw.githubusercontent.com/okx/payments/main/go/x402/SELLER.md
Rusthttps://raw.githubusercontent.com/okx/payments/main/rust/x402/SELLER.md
Javahttps://raw.githubusercontent.com/okx/payments/main/java/SELLER.md

No copies ejemplos de documentación antigua sin verificar el repositorio actual de OKX. La guía actual de OKX usa okx-agent-payments-protocol como despachador, y la documentación de vendedor Java ya está disponible.

Ejemplos

Aplicación de presupuesto en un cliente MCP

Al construir un orquestador que llama al servidor MCP agentpay, aplica los presupuestos antes de despachar llamadas a herramientas de pago.

Requisitos previos: Instala el paquete antes de agregar la configuración MCP — npx sin -y solicitará confirmación en entornos no interactivos, lo que hará que el servidor se cuelgue: npm install -g [email protected]

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

async function main() {
  // 1. Valida las credenciales antes de construir el transporte.
  //    Una clave faltante debe fallar inmediatamente — nunca permitas que el subproceso se inicie sin autenticación.
  const walletKey = process.env.WALLET_PRIVATE_KEY;
  if (!walletKey) {
    throw new Error("WALLET_PRIVATE_KEY no está configurada — rechazando iniciar el servidor de pagos");
  }

  // Conéctate al servidor MCP agentpay a través del transporte stdio.
  // Incluye en la lista blanca solo las variables de entorno que el servidor necesita — nunca reenvíes todo process.env
  // a un subproceso de terceros que gestiona claves privadas.
  const transport = new StdioClientTransport({
    command: "npx",
    args: ["[email protected]"],
    env: {
      PATH: process.env.PATH ?? "",
      NODE_ENV: process.env.NODE_ENV ?? "production",
      WALLET_PRIVATE_KEY: walletKey,
    },
  });
  const agentpay = new Client({ name: "orchestrator", version: "1.0.0" });
  await agentpay.connect(transport);

  // 2. Establece la política de gasto antes de delegar al agente.
  //    Siempre verifica el éxito — un fallo silencioso significa que no hay controles activos.
  const policyResult = await agentpay.callTool({
    name: "set_policy",
    arguments: {
      per_task_budget: 0.50,
      per_session_budget: 5.00,
      allowlisted_recipients: ["api.example.com"],
    },
  });
  if (policyResult.isError) {
    throw new Error(
      `Error al establecer la política de gasto — no delegar: ${JSON.stringify(policyResult.content)}`
    );
  }

  // 3. Usa preToolCheck antes de cualquier acción de pago
  await preToolCheck(agentpay, 0.01);
}

// Hook previo a la herramienta: aplicación de presupuesto con bloqueo en caso de fallo con cuatro rutas de error distintas.
async function preToolCheck(agentpay: Client, apiCost: number): Promise<void> {
  // Ruta 1: Rechazar entrada inválida (NaN/Infinity eluden la comparación <)
  if (!Number.isFinite(apiCost) || apiCost < 0) {
    throw new Error(`apiCost inválido: ${apiCost} — acción bloqueada`);
  }

  // Ruta 2: Error de transporte/conectividad
  let result;
  try {
    result = await agentpay.callTool({ name: "check_spending" });
  } catch (err) {
    throw new Error(`Servicio de pago inalcanzable — acción bloqueada: ${err}`);
  }

  // Ruta 3: La herramienta devolvió un error (por ejemplo, fallo de autenticación, billetera no inicializada)
  if (result.isError) {
    throw new Error(
      `check_spending falló — acción bloqueada: ${JSON.stringify(result.content)}`
    );
  }

  // Ruta 4: Analizar y validar la forma de la respuesta
  let remaining: number;
  try {
    const parsed = JSON.parse(
      (result.content as Array<{ text: string }>)[0].text
    );
    if (!Number.isFinite(parsed?.remaining)) {
      throw new TypeError("campo 'remaining' faltante o no finito");
    }
    remaining = parsed.remaining;
  } catch (err) {
    throw new Error(
      `check_spending devolvió un formato inesperado — acción bloqueada: ${err}`
    );
  }

  // Ruta 5: Presupuesto excedido
  if (remaining < apiCost) {
    throw new Error(
      `Presupuesto excedido: se necesitan $${apiCost} pero solo quedan $${remaining}`
    );
  }
}

main().catch((err) => {
  console.error(err);
  process.exitCode = 1;
});

Buenas Prácticas

  • Establece presupuestos antes de la delegación: Al generar subagentes, asigna una SpendingPolicy a través de tu capa de orquestación. Nunca le des a un agente un gasto ilimitado.
  • Fija tus dependencias: Siempre especifica una versión exacta en tu configuración MCP (por ejemplo, [email protected]). Verifica la integridad del paquete antes de implementar en producción.
  • Registros de auditoría: Usa list_transactions en hooks posteriores a la tarea para registrar qué se gastó y por qué.
  • Bloqueo en caso de fallo: Si la herramienta de pago no está disponible, bloquea la acción de pago — no recurras a acceso sin medición.
  • Combínalo con security-review: Las herramientas de pago son de alto privilegio. Aplica el mismo escrutinio que al acceso al shell.
  • Prueba primero en testnets: Usa Base Sepolia para desarrollo; cambia a Base mainnet para producción.

Referencia de Producción

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

api-connector-builder

Build a new API connector or provider by matching the target repo

Skills relacionados