Skip to main content
Python SDK はバックエンドサービス、データタスク、自動化エージェント、およびバッチ処理スクリプトに適しています。acedatacloud は API 呼び出しを担当し、acedatacloud-x402 は PAYMENT-SIGNATURE リクエストヘッダーのチェックアウトを担当します。 ソースコードとパッケージのアドレス:

依存関係のインストール

upto を使用する場合は、Permit2 approve CLI を一度呼び出す必要があります。この CLI は web3 に依存しています:
クリーンな Python venv のインストールとインポートチェックの出力:
結果の説明:
  • acedatacloud と acedatacloud-x402 はどちらも PyPI からインストールしてインポートできます。
  • pip install 'acedatacloud-x402[cli]' は upto 前置きのための approve-permit2 CLI を含みます。

Base または SKALE の例

以下の例では API トークンは必要ありません。ウォレットの秘密鍵はローカルで署名され、Ace Data Cloud に送信されることはありません。
Python SDK は現在 dict を返すため、例では res["choices"][0]["message"]["content"] を使用しています。直接 .choices 属性があると仮定しないでください。 SKALE 有料呼び出しのプログラム実行結果:
結果の説明:
  • プログラムは 402 の解析、PAYMENT-SIGNATURE 署名、および元のリクエストの再試行を完了しました。
  • content ADC_PY_SDK_X402_OK はモデルが実際に返した固定文字列で、リクエストが X402 有料リンクを通じてターゲット API に到達したことを示しています。
  • id chatcmpl-DlcWajqAHOop3iebmO19XRfT5bTPz はこのチャット補完応答の ID です。
SKALE を使用する場合は、ネットワーク名を変更するだけです:

Solana の例

Solana は base58 エンコードされた秘密鍵を使用します:
Solana パスは SPL USDC TransferChecked トランザクションを構築して提出し、その後トランザクション署名を PAYMENT-SIGNATURE エンベロープに入れます。 Solana 有料再試行は本番 API で HTTP 200 と ADC_SOLANA_E2E_OK を返しました。今回の公開 RPC クエリはレート制限に遭遇し、チェーン上の署名を安定して確認できませんでした。照合が必要な場合は、独自の Solana RPC を使用してこのトランザクションをクエリしてください。

Async クライアント

同じペイメントハンドラーは AsyncAceDataCloud にも使用できます:

upto 後置計量の使用

チャット補完、モデル呼び出しなどの API の実際のコストは、応答が終了するまでわからない場合があります。この時、API は同時に exact と upto を返すことがあります。upto を優先して使用する場合:
Base upto のプログラム実行結果:
チェーン上の確認:
結果の説明:
  • content ADC_BASE_UPTO_OK はリクエストが実際にモデル API に到達したことを示しています。
  • settled value 3 atomic USDC は upto が実際の使用量に基づいて決済されたことを示しており、上限全体が引かれたわけではありません。
  • settlement tx は BaseScan で開くことができ、照合時には tx ハッシュ、payer、completion ID、およびリクエストの要約を保存してください。
upto は Permit2 によって上限を承認し、実際の決済金額はその上限を超えることはできません。最初の使用前に、ターゲットチェーン上の USDC に対して一度 approve(Permit2, amount) を行う必要があります。 CLI 方式:
プログラム方式:
このヘルパーは冪等性があります。もしアローワンスがすでに十分であれば、{"skipped": true} が返され、チェーン上のトランザクションは繰り返し発行されません。

低レベル署名

SDKを使用しない場合でも、低レベルの署名関数を直接呼び出すことができます:
低レベルの関数は、テスト、プロキシ層、ゲートウェイ統合、または非公式SDKに適しています。通常のビジネスコードでは create_x402_payment_handler を優先して使用してください。