acedatacloud は API 呼び出しを担当し、acedatacloud-x402 は PAYMENT-SIGNATURE リクエストヘッダーのチェックアウトを担当します。
ソースコードとパッケージのアドレス:
- SDK リポジトリ:https://github.com/AceDataCloud/SDK
- X402 Client リポジトリ:https://github.com/AceDataCloud/X402Client
- PyPI SDK:https://pypi.org/project/acedatacloud/
- PyPI X402 Client:https://pypi.org/project/acedatacloud-x402/
依存関係のインストール
upto を使用する場合は、Permit2 approve CLI を一度呼び出す必要があります。この CLI は web3 に依存しています:
acedatacloudとacedatacloud-x402はどちらも PyPI からインストールしてインポートできます。pip install 'acedatacloud-x402[cli]'はupto前置きのためのapprove-permit2CLI を含みます。
Base または SKALE の例
以下の例では API トークンは必要ありません。ウォレットの秘密鍵はローカルで署名され、Ace Data Cloud に送信されることはありません。dict を返すため、例では res["choices"][0]["message"]["content"] を使用しています。直接 .choices 属性があると仮定しないでください。
SKALE 有料呼び出しのプログラム実行結果:
- プログラムは 402 の解析、
PAYMENT-SIGNATURE署名、および元のリクエストの再試行を完了しました。 content ADC_PY_SDK_X402_OKはモデルが実際に返した固定文字列で、リクエストが X402 有料リンクを通じてターゲット API に到達したことを示しています。id chatcmpl-DlcWajqAHOop3iebmO19XRfT5bTPzはこのチャット補完応答の ID です。
Solana の例
Solana は base58 エンコードされた秘密鍵を使用します:TransferChecked トランザクションを構築して提出し、その後トランザクション署名を PAYMENT-SIGNATURE エンベロープに入れます。
Solana 有料再試行は本番 API で HTTP 200 と ADC_SOLANA_E2E_OK を返しました。今回の公開 RPC クエリはレート制限に遭遇し、チェーン上の署名を安定して確認できませんでした。照合が必要な場合は、独自の Solana RPC を使用してこのトランザクションをクエリしてください。
Async クライアント
同じペイメントハンドラーはAsyncAceDataCloud にも使用できます:
upto 後置計量の使用
チャット補完、モデル呼び出しなどの API の実際のコストは、応答が終了するまでわからない場合があります。この時、API は同時に exact と upto を返すことがあります。upto を優先して使用する場合:
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を使用しない場合でも、低レベルの署名関数を直接呼び出すことができます:create_x402_payment_handler を優先して使用してください。
