Communitygithub.com

agent-payment-x402

Ajoute l'exécution de paiements x402 aux agents IA avec des budgets par tâche, des contrôles de dépenses et des portefeuilles non-custodiaux. Prend en charge Base via agentwallet-sdk et X Layer via OKX Payments / OKX Agent Payments Protocol. À utiliser lorsqu'un agent doit payer lui-même quelque chose et a besoin de budgets par tâche, de contrôles de dépenses et d'un portefeuille non-custodial.

Qu'est-ce que agent-payment-x402 ?

Ce skill permet aux agents IA d'effectuer des paiements avec des politiques de contrôle intégrées en utilisant le protocole HTTP x402 (Payment Required) et des outils MCP. Les agents peuvent payer des API, des services ou d'autres agents sans risque de garde, grâce à des portefeuilles non-custodiaux basés sur les comptes intelligents ERC-4337. Il prend en charge les blockchains Base (via agentwallet-sdk) et X Layer (via OKX Payments / OKX Agent Payments Protocol), avec des budgets par tâche et par session, des listes blanches de destinataires, et des limites de taux. L'intégration se fait via MCP, avec deux options principales : agentwallet-sdk pour les chaînes compatibles Base et multi-chaînes, et le protocole OKX pour X Layer. Des guides côté vendeur sont disponibles pour TypeScript, Go, Rust et Java. Le skill insiste sur la sécurité : épinglage des versions, validation stricte des budgets, et contrôle des politiques par l'orchestrateur avant la délégation.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Exécution de Paiements d'Agent (x402)

Permet aux agents IA d'effectuer des paiements régis par des politiques avec des contrôles de dépenses intégrés. Utilise le protocole de paiement HTTP x402 et les outils MCP afin que les agents puissent payer des services externes, des API, ou d'autres agents sans risque de garde.

Quand l'Utiliser

À utiliser lorsque : votre agent doit payer un appel API, acheter un service, régler avec un autre agent, appliquer des limites de dépenses par tâche, ou gérer un portefeuille non-custodial. Se marie naturellement avec les skills cost-aware-llm-pipeline et security-review.

Arbre de Décision

Choisissez le chemin d'intégration en fonction du fait que votre agent achète l'accès à une API payante ou facture d'autres pour une API :

BesoinChemin Recommandé
L'agent paie une API basée sur 402 sur Base ou une autre chaîne prise en charge par agentwalletUtilisez agentwallet-sdk comme serveur de paiement MCP avec une politique de dépenses stricte
L'agent paie une API basée sur 402 sur X LayerUtilisez le protocole OKX Agent Payments depuis okx/onchainos-skills ; okx-x402-payment est un alias hérité déprécié
L'API TypeScript facture les agentsUtilisez la documentation du SDK vendeur OKX Payments TypeScript pour Express, Hono, Fastify, ou Next.js
L'API Go facture les agentsUtilisez la documentation du SDK vendeur OKX Payments Go pour Gin, Echo, ou net/http
L'API Rust facture les agentsUtilisez la documentation du SDK vendeur OKX Payments Rust pour Axum
L'API Java facture les agentsUtilisez la documentation du SDK vendeur OKX Payments Java pour Spring Boot 2/3, Java EE, ou Jakarta
L'API Python facture les agentsVérifiez le dépôt actuel OKX Payments avant l'implémentation ; un guide vendeur Python peut ne pas être disponible

Réseaux Pris en Charge

  • agentwallet-sdk : utilisez la documentation du package pour confirmer la couverture réseau actuelle avant la production. Base Sepolia est la valeur par défaut de développement la plus sûre ; le réseau principal Base est le chemin de production mentionné par le skill original.
  • OKX Payments / X Layer : la documentation vendeur actuelle cible X Layer (eip155:196) et le règlement USDT0. Récupérez la documentation SDK actuelle avant de générer du code de production car les packages de paiement et le comportement du facilitateur peuvent changer rapidement.

Comment Cela Fonctionne

Protocole x402

x402 étend HTTP 402 (Payment Required) en un flux négociable par machine. Lorsqu'un serveur renvoie 402, l'outil de paiement de l'agent négocie le prix, vérifie le budget, signe une transaction, et réessaie uniquement à l'intérieur de la limite de politique et de confirmation définie par l'orchestrateur.

Contrôles de Dépenses

Chaque appel d'outil de paiement applique une SpendingPolicy :

  • Budget par tâche — dépense maximale pour une seule action d'agent
  • Budget par session — limite cumulative sur l'ensemble d'une session
  • Destinataires sur liste blanche — restreindre les adresses/services que l'agent peut payer
  • Limites de taux — nombre maximal de transactions par minute/heure

Portefeuilles Non-Custodiaux

Les agents détiennent leurs propres clés via des comptes intelligents ERC-4337. L'orchestrateur définit la politique avant la délégation ; l'agent ne peut dépenser que dans les limites. Pas de fonds mutualisés, pas de risque de garde.

Intégration MCP

La couche de paiement expose des outils MCP standards qui s'insèrent dans toute configuration Claude Code ou harnais d'agent.

Note de sécurité : Épinglez toujours la version du package. Cet outil gère des clés privées — des installations npx non épinglées introduisent un risque de chaîne d'approvisionnement.

Option A : agentwallet-sdk (Base / multi-chaîne)

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

Outils Disponibles (appelables par l'agent)

OutilObjectif
get_balanceVérifier le solde du portefeuille de l'agent
send_paymentEnvoyer un paiement à une adresse ou un ENS
check_spendingInterroger le budget restant
list_transactionsHistorique d'audit de tous les paiements

Note : La politique de dépenses est définie par l'orchestrateur avant de déléguer à l'agent — pas par l'agent lui-même. Cela empêche les agents d'augmenter leurs propres limites de dépenses. Configurez la politique via set_policy dans votre couche d'orchestration ou un crochet de pré-tâche, jamais comme un outil appelable par l'agent.

Option B : Protocole OKX Agent Payments (X Layer)

Utilisez ce chemin pour les flux x402 X Layer, les paiements multi-parties (MPP), les paiements de session, les frais, et les flux de frais A2A.

Pour les flux côté acheteur (agent) :

  1. Installez ou référencez le dépôt actuel okx/onchainos-skills.
  2. Utilisez skills/okx-agent-payments-protocol/SKILL.md comme répartiteur.
  3. Traitez skills/okx-x402-payment/SKILL.md comme un alias de compatibilité déprécié, pas comme le skill canonique.
  4. Exigez une confirmation explicite de l'utilisateur avant les vérifications de statut du portefeuille ou les actions de paiement. Ne cachez pas l'exécution des paiements derrière un appel d'outil générique.

Pour les flux côté vendeur (API), récupérez le dernier guide spécifique à la langue avant de générer du code :

RuntimeGuide actuel
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

Ne copiez pas d'exemples de documentations plus anciennes sans vérifier le dépôt OKX actuel. Les directives OKX actuelles utilisent okx-agent-payments-protocol comme répartiteur, et la documentation vendeur Java est maintenant disponible.

Exemples

Application du budget dans un client MCP

Lors de la construction d'un orchestrateur qui appelle le serveur MCP agentpay, appliquez les budgets avant d'envoyer des appels d'outils payants.

Prérequis : Installez le package avant d'ajouter la config MCP — npx sans -y demandera une confirmation dans les environnements non interactifs, ce qui fera planter le serveur : 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. Validez les identifiants avant de construire le transport.
  //    Une clé manquante doit échouer immédiatement — ne laissez jamais le sous-processus démarrer sans authentification.
  const walletKey = process.env.WALLET_PRIVATE_KEY;
  if (!walletKey) {
    throw new Error("WALLET_PRIVATE_KEY n'est pas défini — refus de démarrer le serveur de paiement");
  }

  // Connectez-vous au serveur MCP agentpay via le transport stdio.
  // Mettez sur liste blanche uniquement les variables d'environnement dont le serveur a besoin — ne transmettez jamais tout process.env
  // à un sous-processus tiers qui gère des clés privées.
  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. Définissez la politique de dépenses avant de déléguer à l'agent.
  //    Vérifiez toujours le succès — un échec silencieux signifie qu'aucun contrôle n'est actif.
  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(
      `Échec de la définition de la politique de dépenses — ne déléguer pas : ${JSON.stringify(policyResult.content)}`
    );
  }

  // 3. Utilisez preToolCheck avant toute action payante
  await preToolCheck(agentpay, 0.01);
}

// Crochet de pré-outil : application du budget avec échec en cas de problème, avec quatre chemins d'erreur distincts.
async function preToolCheck(agentpay: Client, apiCost: number): Promise<void> {
  // Chemin 1 : Rejeter l'entrée invalide (NaN/Infinity contourne la comparaison <)
  if (!Number.isFinite(apiCost) || apiCost < 0) {
    throw new Error(`apiCost invalide : ${apiCost} — action bloquée`);
  }

  // Chemin 2 : Échec de transport/connectivité
  let result;
  try {
    result = await agentpay.callTool({ name: "check_spending" });
  } catch (err) {
    throw new Error(`Service de paiement injoignable — action bloquée : ${err}`);
  }

  // Chemin 3 : L'outil a renvoyé une erreur (par exemple, échec d'auth, portefeuille non initialisé)
  if (result.isError) {
    throw new Error(
      `check_spending a échoué — action bloquée : ${JSON.stringify(result.content)}`
    );
  }

  // Chemin 4 : Analyser et valider la forme de la réponse
  let remaining: number;
  try {
    const parsed = JSON.parse(
      (result.content as Array<{ text: string }>)[0].text
    );
    if (!Number.isFinite(parsed?.remaining)) {
      throw new TypeError("champ 'remaining' manquant ou non fini");
    }
    remaining = parsed.remaining;
  } catch (err) {
    throw new Error(
      `check_spending a renvoyé un format inattendu — action bloquée : ${err}`
    );
  }

  // Chemin 5 : Budget dépassé
  if (remaining < apiCost) {
    throw new Error(
      `Budget dépassé : besoin de $${apiCost} mais seulement $${remaining} restants`
    );
  }
}

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

Meilleures Pratiques

  • Définissez les budgets avant la délégation : Lors de la création de sous-agents, attachez une SpendingPolicy via votre couche d'orchestration. Ne donnez jamais une dépense illimitée à un agent.
  • Épinglez vos dépendances : Spécifiez toujours une version exacte dans votre configuration MCP (par exemple, [email protected]). Vérifiez l'intégrité du package avant de déployer en production.
  • Pistes d'audit : Utilisez list_transactions dans les crochets de post-tâche pour journaliser ce qui a été dépensé et pourquoi.
  • Échec en cas de problème : Si l'outil de paiement est injoignable, bloquez l'action payante — ne tombez pas en mode accès non mesuré.
  • Associez avec security-review : Les outils de paiement sont à privilèges élevés. Appliquez le même niveau d'examen que pour un accès shell.
  • Testez d'abord sur des testnets : Utilisez Base Sepolia pour le développement ; passez à Base mainnet pour la production.

Référence de Production

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/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

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.

Skills associés