ALLER AU CONTENU
Protocole9 minStandards That Ship / Ep. 3

Paiements par agents, x402 et qui répond quand un agent paie

Adam Boudjemaa
PARTAGER
Pixel-art illustration of a robot at a payment terminal tethered by a glowing cord back to a distant human silhouette.

À RETENIR

  • Quand un agent autonome paie, la responsabilité est le plus souvent indéfinie : x402 déplace l'argent, mais aucun standard n'enregistre quel donneur d'ordre a autorisé le paiement ni sous quelle limite.
  • La solution n'est pas nouvelle. C'est le KYC transformé en Know Your Agent : identité on-chain (OnchainID, ERC-734/735), transfert filtré par l'identité (ERC-3643) et rails d'abstraction de compte (ERC-4337/7579).
  • J'ai déjà livré ces pièces : le transfert filtré par l'identité ERC-3643 chez Tokeny, et les rails ERC-4337/7579 chez Biconomy qui ont déplacé $441M sur 38M+ transactions.
  • ERC-8203, Agent Offchain Conditional Settlement, est là où la couche manquante se forme. J'en suis co-auteur, deuxième des trois auteurs nommés, et j'en ai écrit l'implémentation de référence (PR #1614) ; Xianrui Qin en est l'auteur principal. Il est encore au statut Draft et non fusionné.
  • Un modèle de responsabilité viable exige trois ancres on-chain : quel donneur d'ordre a autorisé l'agent, ce qu'il pouvait dépenser, et la preuve que le transfert a respecté ces conditions.
$441M
DEPLACE SUR LES RAILS
Biconomy (ERC-4337/7579)
38M+
TRANSACTIONS
sur les mêmes rails
$32B+
FILTRE PAR IDENTITE
tokenisé sur ERC-3643

L'agent a payé. Qui est responsable maintenant ?

Le mois dernier, un agent IA a acheté des crédits d'API pour moi. Il a trouvé le point d'accès, s'est heurté à un paywall, a payé, puis a continué. Le paiement a fonctionné. Personne n'avait décidé qui répondrait s'il avait payé la mauvaise facture.

Ce manque, pas la technologie de paiement, est le vrai problème des paiements par agents. x402 et les protocoles qui l'entourent ont résolu la manière dont un agent remet l'argent. Ils n'ont pas résolu qui répond de cet argent quand il part de travers. La couche qui enregistre le donneur d'ordre, la limite de dépense et la preuve que le paiement était autorisé manque toujours.

Je n'écris pas ceci en spectateur. J'ai livré les trois pièces dont cette couche a besoin : l'identité on-chain chez Tokeny, le transfert filtré par l'identité avec ERC-3643, et les rails d'abstraction de compte chez Biconomy qui ont déplacé $441M sur 38M+ transactions. Voici l'argument pour transformer le KYC en Know Your Agent, par quelqu'un qui a mis le KYC on-chain.

LA QUESTION DE RESPONSABILITE
Décision: Un agent a payé une facture de lui-même. Qui en répond ?Arbre de décision : Un agent a payé une facture de lui-même. Qui en répond ? Si Les trois sont enregistrés : le donneur d'ordre, le périmètre de dépense, et la preuve que le transfert a respecté ces conditions, alors La responsabilité est celle du donneur d'ordre, de façon prouvable. Si Le donneur d'ordre est nommé, mais le périmètre de dépense n'a jamais été enregistré, alors La responsabilité est indéfinie. Si Aucun des trois n'est enregistré, ce qui est la situation des paiements par agents aujourd'hui, alors Aucun propriétaire responsable.DÉCISIONUn agent a payé une facture delui-même. Qui en répond ?SI Les trois sont enregistrés : ledonneur d'ordre, le périmètre dedépense, et la preuve que letransfert a respecté ces conditionsLa responsabilité est celledu donneur d'ordre, de façonprouvablePersonne n'a besoin d'être cru surparole. La trace répond touteseule.SI Le donneur d'ordre est nommé,mais le périmètre de dépense n'ajamais été enregistréLa responsabilité estindéfinieVous pouvez dire pour qui l'agentagit. Vous ne pouvez pas dire quele paiement tenait dans ce que cedonneur d'ordre avait autorisé.SI Aucun des trois n'estenregistré, ce qui est la situationdes paiements par agentsaujourd'huiAucun propriétaireresponsablex402 a déplacé l'argent. À luiseul, il n'en enregistre aucun destrois.
Tout l'article tient dans une seule branche de cet arbre. Ce qui suit explique comment passer de la branche du bas à celle du haut, avec des standards qui existent déjà.

Ce que fait x402, et ce qu'il laisse ouvert

Soyons précis sur ce qu'est x402, car le battage l'embrouille. x402 est un protocole de paiement présenté par Coinbase en 2025 qui ranime le vieux code de statut HTTP 402 « Payment Required ». Un serveur répond à une requête par 402 et un prix ; le client, souvent un agent, paie en stablecoins et réessaie. C'est une façon propre pour un logiciel de payer un logiciel.

C'est vraiment utile, et ce n'est pas la même chose que résoudre la responsabilité. x402 standardise la requête et le règlement d'un paiement unique. Il ne standardise ni l'identité de l'agent qui paie, ni l'autorité qui lui a été accordée, ni la trace qu'un régulateur demanderait plus tard. Un traceur public, x402scan, recense l'activité x402 en direct à la mi-2026. La question sans réponse est celle de savoir qui répond de chacun de ces paiements.

LA POIGNEE DE MAIN X402
Diagramme de séquence : 2 participants : Agent, ServeurDiagramme de séquence : 2 participants : Agent, Serveur. Étape 1 : Agent vers Serveur, Demande un point d'accès payant.. Étape 2 : Serveur vers Agent, Répond par un 402 Payment Required, avec un prix.. Étape 3 : Agent vers Serveur, Paie le prix annoncé en stablecoins.. Étape 4 : Agent vers Serveur, Rejoue la même requête. Elle aboutit..AGENT > SERVEURDemande un point d'accès payant.SERVEUR > AGENTRépond par un 402 Payment Required,avec un prix.Le code de statut HTTP que personnen'utilisait, ranimé.AGENT > SERVEURPaie le prix annoncé en stablecoins.AGENT > SERVEURRejoue la même requête. Elle aboutit.Quatre étapes propres, et aucune n'enregistrequi a autorisé l'agent ni ce qu'il avait ledroit de dépenser.
Rien ici n'est cassé. La poignée de main fait exactement ce qu'elle promet, et la trace de responsabilité n'en fait tout simplement pas partie.

Le Know Your Agent, c'est le KYC déplacé vers l'agent

Voici le recadrage qui rend le problème abordable. Nous avons déjà résolu une version de ceci pour les humains. Cela s'appelle le KYC : avant qu'une personne puisse déplacer de l'argent régulé, une institution vérifie qui elle est et ce qu'elle a le droit de faire. Les paiements par agents ont besoin de la même chose, appliquée à l'agent. Appelez cela Know Your Agent.

La différence, c'est l'endroit où vit l'identité. Le dossier KYC d'un humain se trouve dans la base de données privée d'une banque. Un agent opère à travers des services qui ne partagent pas de base de données, donc son identité doit être portable et vérifiable par n'importe qui, ce qui est exactement ce qu'est une identité on-chain. J'ai construit cette primitive chez Tokeny sous le nom d'OnchainID, avec ERC-734 et ERC-735, avant que les agents ne soient la raison pour laquelle on en voulait.

KYC, pour une personne

Une banque vérifie un humain une fois, stocke le résultat en privé, et se fie à son propre dossier. L'identité est réelle mais enfermée dans une seule institution, inutile au service suivant avec lequel la personne traite.

KYA, pour un agent

Un agent porte une identité on-chain vérifiable : une attestation qui nomme le donneur d'ordre pour lequel il agit et ce qu'il a le droit de faire. N'importe quel service, ou n'importe quel token, peut la vérifier au moment du paiement, sans appeler la banque qui l'a émise.

Les trois pièces que j'ai déjà livrées

Le Know Your Agent n'est pas un projet de recherche pour moi. Ce sont trois standards et systèmes livrés, empilés. Chacun tourne déjà en production pour des actifs régulés. Les paiements par agents ne font que les pointer vers un nouveau payeur.

TROIS BRIQUES DEJA LIVREES
1

Identité : OnchainID (ERC-734/735)

Un contrat d'identité on-chain qui détient des attestations signées par des émetteurs de confiance. Il répond à « qui est cet acteur et qui se porte garant de lui ». J'ai construit cette couche chez Tokeny. Pour un agent, l'attestation nomme son donneur d'ordre.

2

Transfert filtré par l'identité : ERC-3643

Le token vérifie les attestations d'identité du destinataire au moment du transfert et annule si elles ne correspondent pas. Je suis l'un des cinq auteurs nommés d'ERC-3643, désormais un standard Final derrière $32B+ d'actifs tokenisés. Il prouve qu'une règle on-chain peut filtrer l'argent sur l'identité, ce dont un paiement d'agent au périmètre limité a besoin.

3

Rails d'abstraction de compte : ERC-4337/7579

Des comptes en contrat intelligent avec permissions programmables, clés de session et limites de dépense. Chez Biconomy, j'ai été le premier contributeur de Nexus, une stack ERC-4337/7579 qui a déplacé $441M sur 38M+ transactions. C'est là que l'autorité de dépense d'un agent devient du code, pas un prompt de confiance.

Trois couches, dans l'ordre où elles répondent à la question : qui est l'agent, si le token le laisse bouger, et ce qu'il peut dépenser. Aucune n'a été conçue pour des agents. Toutes les trois portent déjà de l'argent réel.

Empilez ces trois pièces et un paiement d'agent cesse d'être un simple transfert. Il devient un transfert depuis un compte intelligent au périmètre limité, par un agent au donneur d'ordre nommé, filtré par une règle d'identité. Les mécanismes de ce filtre sont ceux que je détaille dans ERC-3643 : le transfert filtré par l'identité, expliqué.

ERC-8203 : le brouillon de couche de règlement que je co-signe

Il reste une pièce manquante, et c'est celle dont je suis le plus proche en ce moment. L'identité dit qui est l'agent. Les comptes au périmètre limité disent ce qu'il peut dépenser. Aucun des deux ne dit : ne règle ce paiement que si une condition hors chaîne est ensuite prouvée vraie. Cette étape conditionnelle est là où vit une grande partie du vrai commerce entre agents, et c'est ce qu'ERC-8203 tente de standardiser.

ERC-8203, « Agent Offchain Conditional Settlement », est un projet à un stade précoce. Je dois être exact sur mon rôle, car il est facile de le surestimer. L'auteur principal du standard est Xianrui Qin. J'ai écrit l'implémentation de référence, le code qui montre que l'interface peut être construite, soumise via PR #1614. J'ai écrit trois standards Ethereum fusionnés : ERC-3643, ERC-6960 et ERC-7410. ERC-8203 en est un quatrième, mais il n'est pas fini : je suis deuxième des trois auteurs nommés d'un Draft encore en PR ouverte.

L'implémentation de référence esquisse une interface à peu près comme ceci. Voyez-la comme une forme, pas le texte normatif, qui appartient à Xianrui Qin.

IAgentConditionalSettlement.sol
// ERC-8203 (draft): Agent Offchain Conditional Settlement.
// Primary author: Xianrui Qin. This is the reference-implementation
// shape I submitted as PR #1614, simplified. Illustrative, not the spec.
interface IAgentConditionalSettlement {
    // An agent opens a settlement it will honor IF a condition is later proven.
    function openSettlement(
        bytes32 agentId,        // the agent's on-chain identity
        address principal,      // who is liable if this settles
        bytes32 conditionHash,  // hash of the off-chain condition to satisfy
        uint256 maxAmount       // the ceiling the principal authorized
    ) external returns (bytes32 settlementId);

    // Settlement executes only when the proof matches, and within maxAmount.
    function settle(bytes32 settlementId, bytes calldata proof) external;
}

Trois champs surlignés portent l'argument de responsabilité. agentId est l'identité on-chain de l'agent, celle qu'une attestation signée peut rattacher à un donneur d'ordre. principal enregistre la personne ou l'entreprise engagée si le paiement se règle. maxAmount enregistre le plafond qu'elle a autorisé. Le règlement ne se déclenche que lorsqu'une preuve satisfait la condition engagée, si bien que rien ne bouge hors du périmètre fixé par le donneur d'ordre.

Un modèle de responsabilité qui pourrait vraiment marcher

Assemblez les pièces et vous pouvez écrire un modèle de responsabilité qu'un régulateur, un ingénieur et un assureur pourraient tous lire. Il a trois ancres, et tout dépend de la présence des trois.

C'est le schéma sur lequel je reviens sans cesse. Chaque ancre correspond à un standard que j'ai déjà nommé. Le point n'est pas qu'il soit fini. Le point est que chaque partie existe déjà en production quelque part, en attente d'être pointée vers les paiements par agents.

PAIEMENT PAR AGENT, AVEC ANCRES
Diagramme de séquence : 5 participants : Agent, Serveur, OnchainID, Compte au périmètre limité, RèglementDiagramme de séquence : 5 participants : Agent, Serveur, OnchainID, Compte au périmètre limité, Règlement. Étape 1 : Agent vers Serveur, Appelle un point d'accès payant pour le compte de son donneur d'ordre.. Étape 2 : Serveur vers Agent, Répond par un HTTP 402 et un prix (x402).. Étape 3 : Agent vers OnchainID, Prouve pour quel donneur d'ordre il agit.. Étape 4 : Agent vers Compte au périmètre limité, Paie depuis un compte intelligent au périmètre limité.. Étape 5 : Compte au périmètre limité vers Règlement, Ne règle que si la condition est prouvée.. Étape 6 : Règlement vers Agent, Le paiement passe, et le donneur d'ordre est engagé..AGENT > SERVEURAppelle un point d'accès payant pourle compte de son donneur d'ordre.SERVEUR > AGENTRépond par un HTTP 402 et un prix(x402).x402 déplace l'argent. À lui seul, iln'enregistre aucune des trois ancres deresponsabilité.AGENT > ONCHAINIDProuve pour quel donneur d'ordre ilagit.Ancre 1, qui a autorisé : OnchainID(ERC-734/735) nomme le donneur d'ordre.AGENT > COMPTE AU PÉRIMÈTRE LIMITÉPaie depuis un compte intelligent aupérimètre limité.Ancre 2, ce qu'il pouvait dépenser :ERC-4337/7579 plafonne le montant et limiteles clés de session.COMPTE AU PÉRIMÈTRE LIMITÉ >RÈGLEMENTNe règle que si la condition estprouvée.Ancre 3, a-t-il respecté les termes :ERC-8203 (projet) vérifie la preuve face àmaxAmount.RÈGLEMENT > AGENTLe paiement passe, et le donneurd'ordre est engagé.Les trois ancres résolues, donc laresponsabilité est celle du donneur d'ordre,de façon prouvable.
Le même paiement, mais chaque étape inscrit désormais l'une des trois ancres de responsabilité. x402 gère la poignée de main ; l'identité, le périmètre et la preuve sont ce qui laisse le donneur d'ordre engagé de façon prouvable.
LES TROIS ANCRES
Diagramme en couches : 3 niveaux, de haut en basDiagramme en couches : 3 niveaux, de haut en bas. Niveau 1, QUI A AUTORISÉ : Identité du donneur d'ordre, OnchainID, ERC-734/735. Niveau 2, CE QU'IL POUVAIT DÉPENSER : Périmètre d'autorisation, ERC-3643, ERC-4337/7579. Niveau 3, A-T-IL RESPECTÉ LES TERMES : Preuve de règlement, ERC-8203 (projet).QUI A AUTORISÉIdentité du donneur d'ordreOnchainIDERC-734/735CE QU'IL POUVAIT DÉPENSERPérimètre d'autorisationERC-3643ERC-4337/7579A-T-IL RESPECTÉ LES TERMESPreuve de règlementERC-8203 (projet)
Chaque ancre correspond à un standard déjà en production. La bande du milieu, le périmètre de dépense de l'agent, est porteuse : retirez-la et la responsabilité est indéfinie.

Résolvez les trois et la responsabilité est celle du donneur d'ordre, de façon prouvable. Retirez l'ancre du milieu et la responsabilité est indéfinie. Ce manque est là où se trouvent les paiements par agents aujourd'hui.

Partie
Responsable de
L'ancre on-chain qui le prouve
Donneur d'ordre (personne ou entreprise)
Les paiements faits dans le périmètre accordé
Une attestation signée nommant le donneur d'ordre pour l'identité de l'agent
Opérateur de l'agent
Garder l'agent dans le périmètre accordé
Limites de dépense et clés de session dans le compte ERC-4337/7579
Personne, aujourd'hui
Tout paiement fait sans périmètre enregistré
Il n'y a pas d'ancre, ce qui est le problème

Ce que cela débloque, et pourquoi maintenant

Alors, qu'est-ce que cela vous apporte, et pourquoi l'écrire maintenant ? Parce que les standards arrivent plus vite que la conversation sur la responsabilité. x402 a rendu les paiements entre machines faciles cette année. La couche d'identité et de règlement en dessous est en cours de rédaction en ce moment même, en public, dans des fils comme la discussion ERC-8203.

Si vous construisez des agents qui touchent à l'argent, le geste pratique n'est pas d'attendre que le standard de règlement se fige. Donnez dès aujourd'hui à chaque agent qui déplace de l'argent une vraie identité et un compte au périmètre limité, avec les pièces déjà Final. J'approfondis le volet confinement dans le moindre privilège pour les agents qui paient.

Les standards durcissent vite une fois publiés, et les premières implémentations crédibles façonnent le texte normatif. Je préfère que le modèle de responsabilité qui l'emporte soit construit par quelqu'un qui a réellement filtré de l'argent régulé on-chain, plutôt qu'écrit par une équipe qui optimise pour une démo. C'est la même raison pour laquelle j'ai écrit l'implémentation de référence d'ERC-8203 au lieu d'attendre de commenter la spec finie.

FAQ

Aujourd'hui, souvent personne ne l'est clairement, et c'est le problème. Une responsabilité nette exige trois faits enregistrés on-chain : quel donneur d'ordre a autorisé l'agent, ce qu'il avait le droit de dépenser, et la preuve que le paiement a respecté ces conditions. Des protocoles de paiement comme x402 déplacent l'argent mais n'enregistrent pas ces trois faits, si bien qu'un paiement autonome peut se retrouver sans propriétaire responsable.

x402 est un protocole de paiement présenté par Coinbase en 2025 qui ranime le code de statut HTTP 402 « Payment Required ». Un serveur répond avec un prix, et le client, souvent un agent, paie en stablecoins puis réessaie. Il standardise la poignée de main de paiement entre machines. Il ne standardise ni l'identité de l'agent ni la personne responsable du paiement.

Oui, comme co-auteur, et la nuance compte plus que le crédit. Je suis le deuxième des trois auteurs nommés d'ERC-8203, « Agent Offchain Conditional Settlement ». Xianrui Qin en est l'auteur principal et c'était sa PR, la #1614. J'en ai écrit l'implémentation de référence. Il est encore au statut Draft et n'est pas fusionné dans le dépôt ERCs : considérez-le comme un travail en cours, pas comme quelque chose sur quoi bâtir aujourd'hui. Mes trois autres sont ERC-3643, ERC-6960 et ERC-7410, tous fusionnés.

Parce qu'elle transforme le KYC en Know Your Agent. Une identité on-chain donne à un agent une trace vérifiable du donneur d'ordre pour lequel il agit et de ce qu'il a le droit de faire, que n'importe quel service ou token peut vérifier au moment du paiement. ERC-3643 impose déjà ce type de vérification d'identité au moment du transfert pour $32B+ d'actifs tokenisés, donc le mécanisme est prouvé, pas hypothétique.

Deux des trois le sont. ERC-3643 est un standard Final, et les rails d'abstraction de compte ERC-4337/7579 sur lesquels j'ai travaillé chez Biconomy ont déplacé $441M sur 38M+ transactions. La pièce de règlement conditionnel, ERC-8203, est encore un projet à un stade précoce. Vous pouvez donc donner dès maintenant identité et comptes au périmètre limité aux agents, et le standard de règlement est la partie encore en cours d'écriture.

Standards That Ship

Episode 3 · 4 publies

Adam Boudjemaa

Adam Boudjemaa

Ancien CTO d'Integra. Auteur nommé (1 sur 5) d'ERC-3643, premier auteur d'ERC-6960, co-auteur d'ERC-7410 et co-auteur d'ERC-8203, encore à l'état de brouillon. Conçoit des systèmes d'IA en production et des systèmes Web3 régulés.

Cet article vous a plu ?

Recevez les suivants dans votre boîte mail chaque mardi.