Skip to main content
Dieses Tutorial beschreibt den vollständigen Ablauf von Ace Data Cloud X402 mit einer minimalen API-Anfrage. Das Ziel ist nicht, zuerst komplexen Code zu schreiben, sondern zu verstehen: Warum die erste Anfrage 402 zurückgibt, was in accepts enthalten ist und wie PAYMENT-SIGNATURE die gleiche API-Anfrage in eine bezahlte Anfrage verwandelt.

Vorbereitungen

Du musst Folgendes vorbereiten: Bei der X402-Anfrage an die Ace Data Cloud API ist kein API-Token erforderlich. Die SDK-Anfrage enthält beim ersten Mal kein Authorization, das Gateway gibt 402 Payment Required und Zahlungsanforderungen zurück; das SDK versucht automatisch nach der Signatur erneut.

SDK installieren

Quellcode- und Paketadressen: TypeScript:
Python:
Wenn du Solana verwenden möchtest, musst du auch die entsprechenden Abhängigkeiten installieren:
Die Python-Version des Solana-Signers ist bereits in acedatacloud-x402 enthalten. Installation und Importüberprüfung in einer sauberen temporären Umgebung:
Ergebnisbeschreibung:
  • npm-Pakete und PyPI-Pakete sind echte veröffentlichte Pakete, keine Platzhalternamen in der Dokumentation.
  • acedatacloud-x402[cli] installiert die CLI, der Unterbefehl approve-permit2 kann für die Permit2-Autorisierung im upto-Szenario verwendet werden.

Die erste Anfrage gibt 402 zurück

Du kannst zuerst mit curl sehen, was bei einer unbezahlten Anfrage zurückgegeben wird. Das folgende Beispiel verursacht keine Kosten, da es kein PAYMENT-SIGNATURE enthält:
Der Rückgabekörper enthält ein accepts-Array, eine häufige Struktur sieht wie folgt aus:
Der gleiche Herausforderungsinhalt wird auch in base64-Form im PAYMENT-REQUIRED-Antwortheader bereitgestellt, damit der Client die Zahlungsanforderung lesen kann, ohne den Body zu analysieren. Die Ausgabe eines Programms für unbezahlte API-Anfragen sieht wie folgt aus:
Ergebnisbeschreibung:
  • Die erste Anfrage enthielt weder Authorization noch PAYMENT-SIGNATURE, daher wird HTTP 402 zurückgegeben, es entstehen keine Kosten.
  • accepts ist die einzige vertrauenswürdige Signaturbasis für diese Anfrage und enthält optionale Netzwerke, Scheme, Höchstbeträge, Zahlungsadressen und Vermögenswerte.
  • network ist die CAIP-2 Kennung, der Client muss beim Auswählen des Netzwerks die CAIP-2 Zeichenfolgenübereinstimmung beachten.
  • Der Höchstbetrag für die minimale Chat-Anfrage gpt-4o-mini beträgt 95215 atomare USDC, was 0.095215 USDC entspricht.
  • Jede Anfrage sollte die aktuelle 402-Antwort lesen, die Beispielbeträge sollten nicht fest in den Anwendungscode codiert werden.
Feldbedeutungen:

Zahlungserneuerung mit SDK durchführen

Hier ist ein minimales TypeScript-Beispiel. Es gibt network: 'skale' an, der Handler wählt die Zahlungsanforderung von SKALE aus der aktuellen 402-Antwort; der tatsächliche Betrag und die Zahlungsadresse richten sich weiterhin nach accepts.
同一链路用 TypeScript SDK 的程序运行结果:
结果说明:
  • content ADC_TS_SDK_X402_OK ist der feste String, den das Modell gemäß dem Prompt zurückgibt, was bedeutet, dass die Zahlung nach dem erneuten Versuch tatsächlich die Modell-API erreicht hat.
  • payer ist die lokale signierte Wallet-Adresse, der private Schlüssel wurde nicht an Ace Data Cloud gesendet.
  • Das SDK hat die 402-Analyse, die PAYMENT-SIGNATURE-Signatur und den ursprünglichen Anfrageversuch abgeschlossen; der Geschäftscode bleibt im normalen SDK-Aufrufstil geschrieben.
Diese Codezeile hat vier Schritte durchlaufen:
  1. Das SDK sendet eine normale API-Anfrage, ohne Authorization.
  2. Gateway gibt 402 Payment Required und accepts zurück.
  3. createX402PaymentHandler wählt die Zahlungsanforderung mit network = 'skale' und signiert die PAYMENT-SIGNATURE.
  4. Das SDK versucht mit demselben Anfragekörper erneut, das Gateway ruft den Facilitator zur Überprüfung und Abwicklung auf und lässt die Anfrage zur Ziel-API durch.

查看 Facilitator 支持能力

X402 API hängt nicht von einem Ressourcenverzeichnis ab. Der Client ruft direkt bekannte APIs auf und verwendet die zur Laufzeit zurückgegebene 402 Payment Required und accepts als einzige Preis- und Signaturgrundlage. Die Fähigkeitserklärung des Facilitators befindet sich unter:
Es beschreibt nur /supported, /verify, /settle und die derzeit aktivierten Zahlungsnetzwerke, listet jedoch keine API-Ressourcen auf. Die Produktionsadresse des Facilitators von Ace Data Cloud lautet:
Sie können sehen, welche Netzwerke und Schemes unterstützt werden:
Die zurückgegebene kinds listet die vom Facilitator unterstützten Netzwerke und Schemes auf. Bei tatsächlichen Aufrufen gilt weiterhin das von der API zurückgegebene accepts. Facilitator /supported Ausgabe:
结果说明:
  • /supported zeigt, dass der Facilitator über diese Netzwerke und Schemes Validierungs- und Abwicklungsfähigkeiten verfügt.
  • Base, SKALE und Solana unterstützen exact; upto wird derzeit nur auf Base angeboten.
  • Ob eine bestimmte API ein Netzwerk zulässt, hängt weiterhin von der 402 accepts dieser API ab.