Skip to main content
Ace Data Cloud X402 utilise actuellement deux types de schémas : exact et upto. Ils résolvent des problèmes de facturation différents.

exact

exact signifie que le prix peut être déterminé avant que la demande n’atteigne l’API cible. Le montant signé par le client est le montant final à débiter. Convient pour :
  • Génération d’images à prix fixe ;
  • Création de tâches vidéo à prix fixe ;
  • API de recherche ou d’outils à prix fixe ;
  • Paiement de commandes.
EVM exact utilise USDC EIP-3009 TransferWithAuthorization :
Le Facilitateur vérifie la signature et le montant à l’étape /verify, et soumet cette autorisation sur la chaîne à l’étape /settle.

upto

upto signifie que le client autorise un plafond maximum, Ace Data Cloud facture en fonction de l’utilisation réelle après l’achèvement de la demande, le montant réel débité ne peut pas dépasser ce plafond. Convient pour :
  • Complétion de chat : le prix final dépend des tokens de prompt et des tokens de completion ;
  • Réponse en streaming : la longueur de la sortie réelle n’est connue qu’à la fin ;
  • API de mesure postérieure à venir.
upto utilise Permit2 PermitWitnessTransferFrom. Le montant signé par le client n’est pas un transfert fixe, mais une autorisation de plafond avec témoin :
permitted.amount est le plafond, qui n’est pas nécessairement le montant final débité. La passerelle à l’étape /record convertira l’utilisation réelle en amount à transmettre au Facilitateur. Le Facilitateur ne permet de régler que amount <= permitted.amount. Résultat d’exécution du programme de base upto :
Remarques :
  • Le plafond d’autorisation retourné dans 402 est de 95215 atomic USDC, le client signe selon ce plafond.
  • Après la réponse réelle du modèle, seul 3 atomic USDC est facturé, la transaction sur la chaîne peut être consultée sur BaseScan.
  • Ce résultat illustre la différence clé de upto : le montant signé est un plafond, le règlement sur la chaîne peut être inférieur à ce plafond.
  • Si l’utilisation réelle dépasse le plafond, le Facilitateur doit refuser le règlement, le client doit autoriser à nouveau avec un plafond plus élevé.
upto est actuellement disponible uniquement sur Base. SKALE ne propose que exact, si vous avez besoin de mesure postérieure, veuillez utiliser Base.

Pourquoi avoir besoin de l’approbation Permit2

upto est finalement géré par le proxy x402 via Permit2 pour retirer des USDC du portefeuille de paiement. Avant la première utilisation, le portefeuille de paiement doit donner une fois une autorisation ERC-20 à Permit2. CLI Python :
Méthode de programme :
Une fois l’autorisation terminée, chaque demande nécessite toujours de signer une nouvelle enveloppe upto, car le nonce, la date limite, le témoin et le plafond de montant sont tous différents.

Règlement à montant zéro

upto prend en charge les cas où le montant réel est de 0. Par exemple, si l’API cible n’a pas réussi à générer une quantité facturable, la passerelle peut transmettre amount = "0". Le Facilitateur renverra un succès, mais ne soumettra pas de transaction sur la chaîne. Cela peut éviter le problème de “demande non réussie mais frais débités sur la chaîne”.

Suggestions de choix

Si vous n’êtes pas sûr de ce qu’il faut choisir, utilisez d’abord le comportement par défaut du SDK ; le SDK choisira l’exigence de paiement du réseau correspondant renvoyée par le serveur.

Liste de vérification Base upto

Lors de l’intégration ou du dépannage, veuillez vous assurer que les paramètres proviennent de la même réponse 402 et restent cohérents lors de la signature par le client : Erreurs courantes et solutions :