Communitygithub.com

agent-payment-x402

Adiciona execução de pagamentos x402 a agentes de IA com orçamentos por tarefa, controles de gastos e carteiras sem custódia. Suporta Base através do agentwallet-sdk e X Layer através do OKX Payments / OKX Agent Payments Protocol.

O que é agent-payment-x402?

Esta skill permite que agentes de IA realizem pagamentos com controle de políticas e orçamentos integrados, utilizando o protocolo de pagamento HTTP x402 e ferramentas MCP. Ela é ideal para cenários onde um agente precisa pagar por chamadas de API, adquirir serviços, liquidar transações com outros agentes ou gerenciar uma carteira sem custódia. A skill suporta duas principais rotas de integração: para pagamentos na rede Base, utiliza-se o `agentwallet-sdk` como servidor de pagamento MCP; para a X Layer, utiliza-se o OKX Agent Payments Protocol. Controles de gastos robustos são aplicados a cada chamada de pagamento, incluindo orçamentos por tarefa e por sessão, listas de destinatários permitidos e limites de taxa. Toda a política de gastos é configurada pelo orquestrador antes da delegação ao agente, garantindo que o agente nunca possa aumentar seus próprios limites, eliminando riscos de custódia. A skill é compatível com plataformas como Claude Code e Cursor, e deve ser usada em conjunto com habilidades de revisão de segurança para manter altos privilégios sob controle.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Execução de Pagamento por Agente (x402)

Permite que agentes de IA realizem pagamentos com políticas de controle de gastos integradas. Utiliza o protocolo de pagamento HTTP x402 e ferramentas MCP para que agentes possam pagar por serviços externos, APIs ou outros agentes sem risco de custódia.

Quando Usar

Use quando: seu agente precisar pagar por uma chamada de API, adquirir um serviço, liquidar com outro agente, impor limites de gastos por tarefa ou gerenciar uma carteira sem custódia. Combina naturalmente com as skills cost-aware-llm-pipeline e security-review.

Árvore de Decisão

Escolha o caminho de integração com base em se seu agente está comprando acesso a uma API paga ou cobrando outros por uma:

NecessidadeCaminho recomendado
Agente paga uma API com requisito 402 na Base ou em outra chain suportada pelo agentwalletUse agentwallet-sdk como servidor de pagamento MCP com política de gastos restrita
Agente paga uma API com requisito 402 na X LayerUse o OKX Agent Payments Protocol de okx/onchainos-skills; okx-x402-payment é um alias legado obsoleto
API em TypeScript cobra agentesUse a documentação do SDK de vendedor OKX Payments TypeScript para Express, Hono, Fastify ou Next.js
API em Go cobra agentesUse a documentação do SDK de vendedor OKX Payments Go para Gin, Echo ou net/http
API em Rust cobra agentesUse a documentação do SDK de vendedor OKX Payments Rust para Axum
API em Java cobra agentesUse a documentação do SDK de vendedor OKX Payments Java para Spring Boot 2/3, Java EE ou Jakarta
API em Python cobra agentesVerifique o repositório atual do OKX Payments antes da implementação; um guia de vendedor Python pode não estar disponível

Redes Suportadas

  • agentwallet-sdk: use a documentação do pacote para confirmar a cobertura de rede atual antes da produção. Base Sepolia é o padrão de desenvolvimento mais seguro; Base mainnet é o caminho de produção indicado pela skill original.
  • OKX Payments / X Layer: a documentação atual do vendedor tem como alvo X Layer (eip155:196) e liquidação USDT0. Busque a documentação atual do SDK antes de gerar código de produção, pois pacotes de pagamento e comportamento do facilitador podem mudar rapidamente.

Como Funciona

Protocolo x402

O x402 estende o HTTP 402 (Payment Required) para um fluxo negociável entre máquinas. Quando um servidor retorna 402, a ferramenta de pagamento do agente negocia o preço, verifica o orçamento, assina uma transação e tenta novamente apenas dentro do limite de política e confirmação definido pelo orquestrador.

Controles de Gastos

Toda chamada de ferramenta de pagamento aplica uma SpendingPolicy:

  • Orçamento por tarefa — gasto máximo para uma única ação do agente
  • Orçamento por sessão — limite cumulativo em toda uma sessão
  • Destinatários na lista de permissões — restringe quais endereços/serviços o agente pode pagar
  • Limites de taxa — máximo de transações por minuto/hora

Carteiras Sem Custódia

Os agentes mantêm suas próprias chaves por meio de contas inteligentes ERC-4337. O orquestrador define a política antes da delegação; o agente só pode gastar dentro dos limites. Sem fundos pooled, sem risco de custódia.

Integração MCP

A camada de pagamento expõe ferramentas MCP padrão que se encaixam em qualquer configuração do Claude Code ou harness de agente.

Nota de segurança: Sempre fixe a versão do pacote. Esta ferramenta gerencia chaves privadas — instalações npx sem fixação introduzem risco de supply-chain.

Opção A: agentwallet-sdk (Base / multi-chain)

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

Ferramentas Disponíveis (chamáveis pelo agente)

FerramentaPropósito
get_balanceVerificar saldo da carteira do agente
send_paymentEnviar pagamento para endereço ou ENS
check_spendingConsultar orçamento restante
list_transactionsTrilha de auditoria de todos os pagamentos

Nota: A política de gastos é definida pelo orquestrador antes de delegar ao agente — não pelo próprio agente. Isso impede que agentes aumentem seus próprios limites de gastos. Configure a política via set_policy em sua camada de orquestração ou hook de pré-tarefa, nunca como uma ferramenta chamável pelo agente.

Opção B: OKX Agent Payments Protocol (X Layer)

Use este caminho para fluxos de x402 na X Layer, Multi-Party Payment (MPP), pagamento de sessão, cobrança e fluxos de cobrança A2A.

Para fluxos de agente do lado comprador:

  1. Instale ou referencie o repositório atual okx/onchainos-skills.
  2. Use skills/okx-agent-payments-protocol/SKILL.md como o despachante.
  3. Trate skills/okx-x402-payment/SKILL.md como um alias de compatibilidade obsoleto, não como a skill canônica.
  4. Exija confirmação explícita do usuário antes de verificações de status da carteira ou ações de pagamento. Não oculte a execução do pagamento por trás de uma chamada de ferramenta genérica.

Para fluxos de API do lado vendedor, busque o guia mais recente específico do idioma antes de gerar código:

RuntimeGuia atual
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

Não copie exemplos de documentações antigas sem verificar o repositório atual do OKX. A orientação atual do OKX usa okx-agent-payments-protocol como despachante, e a documentação do vendedor Java agora está disponível.

Exemplos

Aplicação de orçamento em um cliente MCP

Ao construir um orquestrador que chama o servidor MCP agentpay, aplique orçamentos antes de despachar chamadas de ferramentas pagas.

Pré-requisitos: Instale o pacote antes de adicionar a configuração MCP — npx sem -y solicitará confirmação em ambientes não interativos, fazendo com que o servidor trave: 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. Valide as credenciais antes de construir o transporte.
  //    Uma chave ausente deve falhar imediatamente — nunca permita que o subprocesso inicie sem autenticação.
  const walletKey = process.env.WALLET_PRIVATE_KEY;
  if (!walletKey) {
    throw new Error("WALLET_PRIVATE_KEY não definida — recusando iniciar servidor de pagamento");
  }

  // Conecte-se ao servidor MCP agentpay via transporte stdio.
  // Permita apenas as variáveis de ambiente que o servidor precisa — nunca encaminhe todo o process.env
  // para um subprocesso de terceiros que gerencia chaves 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. Defina a política de gastos antes de delegar ao agente.
  //    Sempre verifique o sucesso — uma falha silenciosa significa que nenhum controle está ativo.
  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(
      `Falha ao definir política de gastos — não delegue: ${JSON.stringify(policyResult.content)}`
    );
  }

  // 3. Use preToolCheck antes de qualquer ação paga
  await preToolCheck(agentpay, 0.01);
}

// Hook de pré-ferramenta: aplicação de orçamento com falha fechada e quatro caminhos de erro distintos.
async function preToolCheck(agentpay: Client, apiCost: number): Promise<void> {
  // Caminho 1: Rejeitar entrada inválida (NaN/Infinity ignoram a comparação <)
  if (!Number.isFinite(apiCost) || apiCost < 0) {
    throw new Error(`apiCost inválido: ${apiCost} — ação bloqueada`);
  }

  // Caminho 2: Falha de transporte/conectividade
  let result;
  try {
    result = await agentpay.callTool({ name: "check_spending" });
  } catch (err) {
    throw new Error(`Serviço de pagamento inatingível — ação bloqueada: ${err}`);
  }

  // Caminho 3: Ferramenta retornou um erro (ex: falha de autenticação, carteira não inicializada)
  if (result.isError) {
    throw new Error(
      `check_spending falhou — ação bloqueada: ${JSON.stringify(result.content)}`
    );
  }

  // Caminho 4: Analisar e validar a forma da resposta
  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' ausente ou não finito");
    }
    remaining = parsed.remaining;
  } catch (err) {
    throw new Error(
      `check_spending retornou formato inesperado — ação bloqueada: ${err}`
    );
  }

  // Caminho 5: Orçamento excedido
  if (remaining < apiCost) {
    throw new Error(
      `Orçamento excedido: necessário $${apiCost} mas restam apenas $${remaining}`
    );
  }
}

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

Melhores Práticas

  • Defina orçamentos antes da delegação: Ao gerar subagentes, anexe uma SpendingPolicy por meio de sua camada de orquestração. Nunca dê a um agente gastos ilimitados.
  • Fixe suas dependências: Sempre especifique uma versão exata em sua configuração MCP (ex: [email protected]). Verifique a integridade do pacote antes de implantar em produção.
  • Trilhas de auditoria: Use list_transactions em hooks de pós-tarefa para registrar o que foi gasto e por quê.
  • Falha fechada: Se a ferramenta de pagamento estiver inacessível, bloqueie a ação paga — não recorra ao acesso não medido.
  • Combine com security-review: Ferramentas de pagamento são de alto privilégio. Aplique o mesmo escrutínio que ao acesso ao shell.
  • Teste primeiro em testnets: Use Base Sepolia para desenvolvimento; mude para Base mainnet em produção.

Referência de Produção

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

Habilidades Relacionadas