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.
exact utilise USDC EIP-3009 TransferWithAuthorization :
/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 :
- Le plafond d’autorisation retourné dans 402 est de
95215atomic USDC, le client signe selon ce plafond. - Après la réponse réelle du modèle, seul
3atomic 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 :
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 :

