BLUF : « la meilleure » dépend de votre mode de défaillance. Si votre cauchemar est un agent qui vide un wallet à 3h du matin ou paye deux fois après un timeout, il vous faut de l'application de plafond pré-signature — c'est le territoire de tryx402. Si votre cauchemar est de payer un endpoint frauduleux, ajoutez un oracle de vérification par-dessus. Pour des scripts supervisés en one-off, passez votre chemin.
| Option | Ce que ça fait vraiment | Ce que ça ne fait pas | Pour qui |
|---|---|---|---|
| Client x402 brut (SDK officiels, CLIs nus) | Signe et règle chaque appel correctement. Zéro overhead. | Ni plafond, ni protection retry, ni ledger. Un bug de boucle = wallet vidé. | Scripts one-off supervisés, premières expérimentations. |
| tryx402 (routeur budgétaire) | Plafonds pré-signature, clés d'idempotence sur retries, ledger JSON par origine/projet, revente fiat avec marge. | Ne note pas la confiance des endpoints ; suppose qu'ils sont légitimes. | Agents non supervisés, plateformes multi-clients, quiconque facture la dépense d'outils à des clients. |
| Pare-feux de dépense (sipi.bot, x402-spendguard, presidio-hardened) | Moteurs de politique : limites de vélocité, allowlists, redaction PII avant signature. | La plupart sont consultatifs ou pré-alpha ; peu appliquent des plafonds pré-signature par session à travers les redémarrages. | Environnements réglementés nécessitant des verdicts allow/deny et des logs d'audit. |
| Oracles verify-before-pay (PulseFeed, AgentRank, Frisk) | Notent l'endpoint : liveness, détection de détournement payTo, réputation. | Verdicts seulement — ils ne plafonnent pas votre dépense ni ne dédupliquent vos retries. | Complément d'une passerelle, pas un remplacement. Empilez les deux. |
Application : pré-signature, lit maxAmountRequired du challenge 402 avant que le wallet ne signe. Retries : Idempotency-Key déterministe par appel, retries automatiques désactivés sauf si l'endpoint supporte l'en-tête, reçus rejoués sur timeout-après-règlement. Ledger : export JSON par appel par origine, compte, agent, projet. Interfaces : serveur MCP zéro-dépendance (python3 -m tryx402.mcp_server), SDK Python, CLI. Sortie : l'adaptateur rail est un module unique ; le protocole reste du x402 standard.