メインコンテンツにスキップ
ペルソナ 2 バリアント - APIプロバイダー

AIエージェントにAPIを販売します。

AIエージェントはクレジットカードフォームを記入できません。彼らはUSDCで支払うことができます。Blockchain0xはその1つのAPI呼び出しを行います。

痛み

あなたのAPIは人間のために設計されました。あなたの呼び出し元は今やエージェントです。

次の10年間のAPI収益は、人間のサインアップからは生まれません。ユーザーの代わりにAPIを呼び出すAIエージェントから生まれ、しばしばプログラム的に、そして人間が介在しない状態で行われます。これらのエージェントは、あなたの既存のチェックアウトを使用できません。クレジットカードフォームを記入することも、アカウントを作成することも、確認メールをクリックすることも、パスワードを記憶することもできません。

彼らができることは、402 Payment Requiredレスポンスを読み取り、JSONボディからUSDCの金額と受取人を解析し、Baseで支払い、支払いの証明を持って呼び出しを再発行することです。これがエージェント駆動のAPI商取引の全体の形です。コストモデル(ステーブルコインでの呼び出しごとの請求)は、カードベースのサブスクリプションよりもエージェントの使用形状に適しています:カードは$1未満の取引に失敗し、BaseのUSDCはガス代でセント単位のコストがかかります。チャージバックは機械間では発生しません。

Blockchain0xは橋です。料金表に請求したいルートをリストし、x402アダプタをマウントします。未払いの呼び出しが価格設定されたルートにヒットすると、アダプタは支払うべき内容を正確に説明する402を返します。エージェントはBaseで支払い、X-Paymentヘッダーで再試行します。アダプタはそれを検証し、あなたのハンドラが実行されます。あなたはUSDCを集め、以前と同様にAPIを実行します。ビジネスロジックに変更はありません。請求レイヤーは並行して存在します。

402 支払いが必要

HTTPステータスコードはついに使用されるようになりました。

HTTP 402 was reserved in the original spec for "future use" and never standardized. For thirty years it sat unused while the internet built per-account subscription billing on top of 200/401/403. With Coinbase's x402 protocol, 402 finally has a standard implementation: any API that needs payment-before-it-runs can return a structured 402, and any client that understands the spec can pay and retry.

あなたのAPIは、呼び出しが支払われていないときにこの402ボディを返します
HTTP/1.1 402 Payment Required
Content-Type: application/json

{
  "resource": "POST /api/expensive-operation",
  "accepts": [
    {
      "scheme": "exact-usdc",
      "network": "mainnet",
      "chainId": "eip155:8453",
      "payToAddress": "0xYourAgentWalletAddress",
      "amountWeiUsdc": "500000",
      "paymentRequestId": "pr_demo",
      "maxAgeSeconds": 60
    }
  ]
}

accepts[]要件が意味すること

  • scheme - 支払いスキーム。exact-usdcはEVMチェーン上の正確なUSDC金額を意味します。クライアントは支払い前にこれに一致します。
  • network / chainId - 決済するチェーン(メインネットはBase、CAIP-2 eip155:8453)。マイグレーションは、acceptsに2つの要件をリストすることで両方のネットワークを引用できます。
  • payToAddress / amountWeiUsdc - 受取人のウォレットとUSDC基本単位での正確な金額(500000 = 0.50 USDC、6桁)。クライアントは支払い前に両方を確認します。
  • paymentRequestId - この見積もりに支払いを結びつけます。アダプターは、引用されたルートとは異なるpaymentRequestIdを参照するX-Paymentを拒否します。
  • maxAgeSeconds - 支払いがどれくらい新鮮でなければならないか。このウィンドウより古い支払いは拒否され、呼び出し元は再度支払う必要があります。

x402は機械対機械です:x402を認識したクライアントはacceptsを読み取り、選択した要件をオンチェーンで支払い、その後、アダプターが検証するX-Paymentヘッダーでリクエストを再発行します。x402を理解しないクライアントは単に402を受け取り、結果は得られません。これは正しい結果です(呼び出しは支払われていません)。このフローにはホストされたチェックアウトページはありません。支払いは呼び出し元のウォレットによってプログラム的に決済されます。

アダプターパターン

1つの価格表。3つの言語。同じ形状。

1つのアダプターをマウントし、METHODとパスでキー付けされた価格表を提供します。それはリストしたルートのみをゲートします。ハンドラーは未払いの呼び出しを決して見ません。なぜなら、X-Paymentヘッダーがすでに検証されているからです。形状はPython、TypeScript、Goの間で同一です - X-Paymentワイヤフォーマットは同じであるため、GoサーバーはPythonクライアントによって構築されたヘッダーを受け入れます。

PYTHON (FLASK)
from flask import Flask
from blockchain0x import Client
from blockchain0x_x402.server import x402_before_request_factory, PricingEntry

sdk = Client()  # reads BLOCKCHAIN0X_API_KEY
app = Flask(__name__)

# Only routes named in the pricing table are gated.
app.before_request(x402_before_request_factory(
    sdk=sdk,
    pricing={
        "POST /api/expensive-operation": PricingEntry(
            amount_usdc="0.50",
            pay_to_address="0xYourAgentWalletAddress",
            payment_request_id="pr_demo",
        ),
    },
))

@app.route("/api/expensive-operation", methods=["POST"])
def expensive_operation():
    return run_the_work()  # only runs after X-Payment verifies
TYPESCRIPT (EXPRESS)
import express from "express";
import { createClient } from "@blockchain0x/node";
import { createX402Middleware } from "@blockchain0x/x402/server/express";

const sdk = createClient({ apiKey: process.env.BLOCKCHAIN0X_API_KEY! });
const app = express();

// Only routes named in the pricing table are gated.
app.use(createX402Middleware({
  sdk,
  pricing: {
    "POST /api/expensive-operation": {
      amountUsdc: "0.50",
      payToAddress: "0xYourAgentWalletAddress",
      paymentRequestId: "pr_demo",
    },
  },
}));

app.post("/api/expensive-operation", async (req, res) => {
  res.json(await runTheWork());  // req.x402Payment holds the verified payment
});
GO (NET/HTTP)
import (
  "net/http"
  x402 "tosh-labs/blockchain0x-x402-go"
)

func main() {
  pricing := map[string]x402.PricingEntry{
    "POST /api/expensive-operation": {
      AmountUSDC:       "0.50",
      PayToAddress:     "0xYourAgentWalletAddress",
      PaymentRequestID: "pr_demo",
    },
  }

  // serverSdk is your Blockchain0x Go SDK client.
  h := x402.Middleware(x402.ServerOptions{Sdk: serverSdk, Pricing: pricing})(
    http.HandlerFunc(expensiveOperation))
  http.Handle("/api/expensive-operation", h)
  http.ListenAndServe(":8080", nil)
}

ExpressおよびFastify(Node)、ASGI(StarletteおよびFastAPI)、Flask(Python)、およびGoのnet/http用のサーバーアダプターを提供します。他のフレームワークの場合、402ボディとX-PaymentヘッダーはプレーンHTTPであり、@blockchain0x/x402のワイヤーヘルパーが構築および解析します - スタックのイディオムでチェックを手書きしてください。RubyおよびJVM x402パッケージはクライアント側に公開されています。

VS STRIPE CHECKOUT

各ツールに手を伸ばすタイミング。

Stripeは人間のチェックアウトに適したツールです。Blockchain0xはエージェントのチェックアウトに適したツールです。彼らは異なる問題を解決し、同じAPIでしばしば並んでいます。

次元Blockchain0xStripe Checkout
バイヤー任意のHTTPクライアント(人間またはAIエージェント)ブラウザの前の人間
支払い前に認証が必要ですいいえ - 最初の呼び出しは支払い要件を伴う402を返しますはい - メール + カードフォーム
決済速度5秒(Base上のUSDC)2-7日(カードネットワーク)
チャージバックリスクなし (USDCは最終的です)最大120日間のチャージバックウィンドウ
取引ごとのコスト経済学$0.01-$0.10のコールあたりで動作します(Baseガス + 私たちの手数料)カード手数料により、$1未満の取引が非経済的になります
返金手動 - あなたのコードはUSDCを支払い元アドレスに返しますStripeダッシュボードを通じて自動化されています
国際サポート同じウォレット、どの国でも、追加の設定は不要国ごとのライセンス、通貨換算、地域ルール
最適な用途プログラムによるエージェント駆動のAPI消費人間主導のチェックアウト (SaaSサインアップ、eコマース)

ほとんどのAPIプロバイダーが採用するパターン:人間のサインアップフロー(あなたのダッシュボード、あなたのサブスクリプション製品ページ)のためにStripeを維持し、プログラム的なエージェントアクセスのためにAPIエッジにBlockchain0xを追加します。x402アダプタは、価格表に記載されたルートのみをゲートしますので、人間のStripe認証されたルートは影響を受けません。エージェントを価格設定されたルートに向け、人間を残りに向け、両方のオーディエンスが同じAPIコードでサービスを受けます。

どのプランが適しているか

早期のトラフィックにはプロ。監査ログが必要になるとビジネス。

APIプロバイダーはほぼ常に初日からProで始まります:Freeは読み取り専用であり、x402アダプタは支払いを確認し、決済するためにAPIアクセスが必要で、ウェブフックでそれらを追跡します。トラフィックの多いAPIは、月間ボリュームが増加するにつれてBusinessの領域に入ります。正確なエージェントごとのコストとティアの位置については、料金ページを参照してください。

  • Free: ダッシュボードとメタデータ確認専用です。読み取り専用のため、アダプターは決済を実行できません。
  • Pro: 実運用のAPIマネタイズ向けの標準プラン。APIへのフルアクセス、webhooks、エクスポートに対応。
  • Business: コンプライアンスのために監査ログが必要な場合、または API レート制限を引き上げたい場合。
全価格を見る
よくある質問

5つのAPIプロバイダーに関する質問。

同じAPIでBlockchain0xと並行してStripeを実行できますか?

はい、そして多くのAPIプロバイダーがそうしています。パターン:既存のStripeベースの人間のサインアップフローを維持し、x402価格表にはエージェント向けのルートのみをリストします。アダプターは正確にそれらのルートをゲートします。テーブルにないすべてのもの(あなたのStripe認証顧客が呼び出すルートを含む)は、そのまま通過します。両方にサービスを提供する単一のルートが必要な場合は、ハンドラーで自分のAPIキーを確認し、認証された呼び出し元のために価格設定されたパスをスキップします。両方のオーディエンスは、1つのパスが他をブロックすることなく、望むものを手に入れます。

AIエージェントが支払った後、呼び出しを再試行する前に終了した場合はどうなりますか?

支払いはオンチェーンでまだ有効ですが、未使用のままです。エージェントのウォレットは、あなたのアドレスへの成功したUSDC転送を示します。エージェントの視点からはUSDCを失ったことになりますが、あなたの視点からは実行されなかったコールのために支払いを受けました。これは実際には稀です(x402クライアントは支払った後すぐに再試行します)が、防御的でありたい場合は、完了したコールを生み出さなかった検証済みの支払いを追跡し、payments.createでUSDCを元の支払い者アドレスに返送できます。別の返金エンドポイントはありません - 返金は単に逆方向の支払いです。

APIと価格変更のバージョン管理をするにはどうすればよいですか?

料金表の各エントリはルートごとであり、異なるルートが異なる価格を請求できます。バージョニングのために、推奨されるパターンは、新しい価格を新しい料金表エントリとしてv1と並行してv2エンドポイントを公開することです。クライアントはv2ルートの最初の402レスポンスで新しい金額を見て、それに応じて支払います。安定したルートでの突然の価格上昇は悪いプロトコル市民です。古いルートを非推奨にし、新しい価格の新しいルートを指す410 Goneを提供することをお勧めします。

可観測性はどのように見えますか - ログ、メトリクス、アラート?

すべての支払いは、支払者のウォレット、金額、およびタイムスタンプとともにBlockchain0xダッシュボードに表示され、同じデータがあなたのpayment.receivedウェブフックに届くので、Datadog、Splunk、またはあなた自身のログスタックにストリーミングできます。アダプタはあなたのサーバー内で実行されるため、リクエストレベルの信号(どのルートが引用されたか、返したすべての402、確認したすべてのX-Payment)はあなたのものとして記録し、スタックが使用する形式でメトリクスとして発信できます。明らかなものにアラートを設定してください:402レスポンスの急激なスパイクや、確認された支払い率の低下。

規制に関する質問はどうですか - これを行うと私はマネーサービスビジネスになりますか?

おそらくそうではありませんが、これは管轄に特有のものであり、私たちはあなたの弁護士ではありません。理由は、あなたが提供するサービスに対して支払いを受けているのであって、第三者間でお金を送信しているわけではありません(これは米国におけるMSBステータスのトリガーです)。USDCはほとんどの管轄で支払いステーブルコインとして認識されています。あなたはUSD相当の収益に対して税金を支払う必要があります。私たちはそれに必要な記録を生成します。高ボリュームのB2Bコンテキストや厳しい暗号規則のある管轄(特定の形状のドイツ、シンガポール)で運営している場合は、プロダクショントラフィックを切り替える前に具体的な法的アドバイスを受けてください。私たちは、以前の顧客のためにこの作業を行った企業を紹介できます。

エージェントにあなたのAPIの支払いをさせてください。

料金表へのルートを追加し、アダプタをマウントします。Stripeは人間のために残ります。両方のオーディエンスに対応します。