Skip to main content
Ce tutoriel décrit le processus complet de l’API Ace Data Cloud X402 avec une requête API minimale. L’objectif n’est pas d’écrire d’abord un code complexe, mais de comprendre : pourquoi la première requête renvoie 402, ce qu’il y a dans accepts, et comment PAYMENT-SIGNATURE transforme la même requête API en requête payée.

Préparatifs

Vous devez préparer : L’appel X402 à l’API Ace Data Cloud ne nécessite pas de jeton API. La première requête du SDK ne contient pas Authorization, la passerelle renverra 402 Payment Required et les exigences de paiement ; le SDK réessaiera automatiquement après signature.

Installation du SDK

Adresse du code source et du package : TypeScript :
Python :
Si vous souhaitez utiliser Solana, vous devez également installer les dépendances correspondantes :
La version Python du signataire Solana est déjà incluse dans acedatacloud-x402. Installation et vérification des imports dans un environnement temporaire propre :
Explication des résultats :
  • Les packages npm et PyPI sont des packages publiés réels, pas des noms de remplacement dans la documentation.
  • acedatacloud-x402[cli] installera le CLI, la sous-commande approve-permit2 peut être utilisée pour l’autorisation Permit2 dans le scénario upto.

La première requête renverra 402

Vous pouvez d’abord utiliser curl pour voir ce que renvoie une requête non payée. L’exemple ci-dessous ne générera pas de frais, car il ne contient pas PAYMENT-SIGNATURE :
Le corps de la réponse contiendra un tableau accepts, la structure courante est la suivante :
Le même contenu de défi sera également placé sous forme de base64 dans l’en-tête de réponse PAYMENT-REQUIRED, permettant au client de lire les exigences de paiement sans analyser le corps. Le résumé de la sortie du programme de requête API non payée en production est le suivant :
Explication des résultats :
  • La première requête n’a pas inclus Authorization ou PAYMENT-SIGNATURE, donc elle renvoie HTTP 402, sans frais.
  • accepts est la seule base de signature fiable pour cette requête, contenant les réseaux optionnels, le schéma, le montant maximum, l’adresse de paiement et l’adresse de l’actif.
  • network est l’identifiant CAIP-2, le client doit correspondre à la chaîne CAIP-2 lors du choix du réseau.
  • Le montant maximum pour cette requête de chat minimale gpt-4o-mini est de 95215 USDC atomiques, soit 0.095215 USDC.
  • Chaque requête doit lire la réponse 402 actuelle, ne pas coder en dur le montant d’exemple dans le code métier.
Signification des champs :

Compléter le paiement avec le SDK

Voici un exemple TypeScript minimal. Il spécifie network: 'skale', le gestionnaire choisira l’exigence de paiement SKALE à partir de la réponse 402 actuelle ; le montant réel et l’adresse de paiement seront toujours déterminés par accepts.
Résultat de l’exécution du programme avec le SDK TypeScript sur le même lien :
Explication des résultats :
  • content ADC_TS_SDK_X402_OK est une chaîne fixe renvoyée par le modèle selon le mot d’invite, indiquant que la demande a réellement été envoyée à l’API du modèle après une tentative de paiement.
  • payer est l’adresse du portefeuille signé localement, la clé privée n’a pas été envoyée à Ace Data Cloud.
  • Le SDK a effectué l’analyse 402, la signature PAYMENT-SIGNATURE et la nouvelle tentative de la demande d’origine ; le code métier est toujours écrit selon la méthode d’appel SDK ordinaire.
Quatre étapes se sont produites en arrière-plan :
  1. Le SDK envoie une demande API ordinaire, sans Authorization.
  2. La passerelle renvoie 402 Payment Required et accepts.
  3. createX402PaymentHandler choisit l’exigence de paiement network = 'skale' et signe PAYMENT-SIGNATURE.
  4. Le SDK réessaie avec le même corps de demande, la passerelle appelle le Facilitateur pour vérifier et régler avant de libérer vers l’API cible.

Vérifier les capacités de soutien du Facilitateur

L’API X402 ne dépend pas d’un répertoire de ressources. Le client appelle directement l’API connue et utilise le 402 Payment Required et accepts renvoyés en temps réel comme seule base de prix et de signature. La déclaration des capacités du Facilitateur se trouve à :
Elle décrit uniquement /supported, /verify, /settle et les réseaux de paiement actuellement activés, sans lister les ressources API. L’adresse du Facilitateur de production d’Ace Data Cloud est :
Vous pouvez voir quels réseaux et schémas il prend en charge :
Les kinds retournés énuméreront les réseaux et schémas pris en charge par le Facilitateur. Lors de l’appel réel, il convient de se référer à accepts renvoyé par l’API. Sortie de /supported du Facilitateur :
Explication des résultats :
  • /supported indique que le Facilitateur possède des capacités de vérification et de règlement pour ces réseaux et schémas.
  • Base, SKALE et Solana prennent tous en charge exact ; upto est actuellement proposé uniquement sur Base.
  • La possibilité pour une API d’autoriser un certain réseau dépend toujours de accepts 402 de cette API.