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. Compatible avec Base via agentwallet-sdk et X Layer via OKX Payments / OKX Agent Payments Protocol.

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

Cette compétence permet aux agents IA d'effectuer des paiements régis par des politiques de dépenses, en utilisant le protocole HTTP x402 et les outils MCP (Model Context Protocol). Elle est idéale lorsqu'un agent doit payer pour des appels API, acheter un service, régler avec un autre agent, ou gérer un portefeuille non-custodial avec des limites de dépenses par tâche ou par session. La compétence s'intègre via deux chemins principaux : agentwallet-sdk pour les chaînes compatibles (comme Base), et le protocole OKX Agent Payments pour X Layer. Elle utilise des comptes intelligents ERC-4337 pour garantir que l'agent ne puisse dépenser que dans les limites définies par l'orchestrateur, éliminant ainsi le risque de fonds poolés. Le code inclut des outils MCP comme `get_balance`, `send_payment`, `check_spending` et `list_transactions`, avec des contrôles stricts comme le budget par tâche, le budget par session, les destinataires autorisés et les limites de taux. Des exemples concrets en TypeScript montrent comment configurer un orchestrateur avec validation des credentials, définition de politique de dépenses avant délégation, et vérification préalable avec échec sécurisé.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/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 Paiement 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 pour que les agents puissent payer des services externes, des API ou d'autres agents sans risque de garde.

Quand l'utiliser

Utilisez-la 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 compétences cost-aware-llm-pipeline et security-review.

Arbre de décision

Choisissez le chemin d'intégration selon que votre agent achète un accès à une API payante ou facture d'autres pour une API :

BesoinChemin recommandé
L'agent paie une API 402-gated sur Base ou une autre chaîne supportée par agentwalletUtilisez agentwallet-sdk comme serveur de paiement MCP avec une politique de dépenses stricte
L'agent paie une API 402-gated sur X LayerUtilisez le protocole OKX Agent Payments depuis okx/onchainos-skills ; okx-x402-payment est un alias hérité obsolète
L'API TypeScript facture les agentsUtilisez la documentation SDK vendeur OKX Payments TypeScript pour Express, Hono, Fastify, ou Next.js
L'API Go facture les agentsUtilisez la documentation SDK vendeur OKX Payments Go pour Gin, Echo, ou net/http
L'API Rust facture les agentsUtilisez la documentation SDK vendeur OKX Payments Rust pour Axum
L'API Java facture les agentsUtilisez la documentation 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 OKX Payments actuel avant l'implémentation ; un guide vendeur Python peut ne pas être disponible

Réseaux supportés

  • agentwallet-sdk : utilisez la documentation du paquet pour confirmer la couverture réseau actuelle avant la production. Base Sepolia est la valeur par défaut la plus sûre pour le développement ; le mainnet Base est le chemin de production indiqué par la compétence originale.
  • 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 paquets de paiement et le comportement du facilitateur peuvent changer rapidement.

Comment ça fonctionne

Protocole x402

x402 étend HTTP 402 (Paiement Requis) 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 toute une session
  • Destinataires autorisés — 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 mis en commun, aucun risque de garde.

Intégration MCP

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

Note de sécurité : Épinglez toujours la version du paquet. Cet outil gère des clés privées — les 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_transactionsPiste d'audit de tous les paiements

Remarque : 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 avant 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, Paiement Multi-Partie (MPP), paiement de session, charge, et charge A2A sur X Layer.

Pour les flux côté acheteur :

  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é obsolète, pas comme la compétence 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 du paiement derrière un appel d'outil générique.

Pour les flux côté vendeur, récupérez le guide spécifique au langage le plus récent 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 d'anciennes documentations sans vérifier le dépôt OKX actuel. Les instructions actuelles d'OKX utilisent okx-agent-payments-protocol comme répartiteur, et la documentation vendeur Java est désormais disponible.

Exemples

Application des budgets 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 paquet avant d'ajouter la configuration 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éfinie — refus de démarrer le serveur de paiement");
  }

  // Connectez-vous au serveur MCP agentpay via le transport stdio.
  // Autorisez uniquement les variables d'environnement nécessaires au serveur — 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: "orchestrateur", 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éguez pas : ${JSON.stringify(policyResult.content)}`
    );
  }

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

// Crochet avant outil : application du budget en échec sécurisé avec quatre chemins d'erreur distincts.
async function preToolCheck(agentpay: Client, apiCost: number): Promise<void> {
  // Chemin 1 : Rejeter une 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 inaccessible — action bloquée : ${err}`);
  }

  // Chemin 3 : L'outil a retourné une erreur (par ex., échec d'authentification, 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 retourné 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} restant`
    );
  }
}

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 laissez jamais un agent avoir une dépense illimitée.
  • Épinglez vos dépendances : Spécifiez toujours une version exacte dans votre configuration MCP (par ex., [email protected]). Vérifiez l'intégrité du paquet avant de déployer en production.
  • Pistes d'audit : Utilisez list_transactions dans les crochets post-tâche pour journaliser ce qui a été dépensé et pourquoi.
  • Échec sécurisé : Si l'outil de paiement est inaccessible, bloquez l'action payante — ne tombez pas en arrière sur un accès non mesuré.
  • Associez à security-review : Les outils de paiement sont à haute privilège. Appliquez le même niveau d'examen qu'un accès shell.
  • Testez d'abord sur les testnets : Utilisez Base Sepolia pour le développement ; passez au mainnet Base 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/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 associés