世界を動かす技術を、日本語で。

x402 — インターネットネイティブ決済のためのオープンプロトコル

概要

x402 は、HTTP 402ステータスコードを活用した デジタル決済プロトコルアカウント登録や個人情報不要 でAPI経由の支払いが可能。 手数料ゼロ、即時決済、ブロックチェーン非依存 の特徴。 1行のコード追加 で既存のWebサーバーに簡単導入。 新しいマネタイズモデル を実現し、開発者・クリエイターの収益化をサポート。

x402とは

  • HTTP 402ステータスコード を活用したデジタル決済プロトコル
  • API経由でリソースへの支払い を実現
  • 登録、メール、OAuth、複雑な署名 が一切不要
  • 顧客・事業者ともに手数料ゼロ の設計
  • 即時決済 :ブロックチェーンのスピードで2秒以内に着金
  • ブロックチェーン非依存 :特定のチェーンやトークンに縛られない中立的な標準
  • オープンスタンダード で、誰でも実装・拡張が可能
  • Webネイティブ :既存のHTTPサーバーでヘッダーとステータスコードだけで動作

導入の容易さ

  • 既存のWebサーバースタック に1行のミドルウェアコードまたは設定を追加するだけ
  • 顧客やエージェントはアカウント作成や個人情報の提供不要
  • シンプルな導入 で即時にデジタル決済を開始可能

セキュリティと信頼性

  • 中央集権的なプロバイダーに依存しない オープンな設計
  • コミュニティ主導 による拡張・実装が可能
  • 透明性と信頼性 を担保するプロトコル

新しいマネタイズモデル

  • サブスクリプションや広告に頼らない 小額決済モデルの実現
  • 開発者・コンテンツクリエイター の収益化を支援
  • AIエージェント によるリアルタイムAPIリクエスト決済
  • クラウドストレージプロバイダー でのアカウント不要なアクセス
  • コンテンツクリエイター 向けの真のマイクロペイメント実現

実装例

  • 1行のコード追加 でUSDC決済を受け付ける例
    • paymentMiddleware("0xYourAddress", {"/your-endpoint": "$0.01"});
  • 支払いのないリクエスト にはHTTP 402で応答し、クライアントに支払いと再試行を促す
    • HTTP/1.1 402 Payment Required

x402のメリットまとめ

  • ブロックチェーンの複雑さを隠蔽 し、Web開発者が簡単に暗号資産決済を導入可能
  • 手数料ゼロ・即時着金・高い拡張性 を実現
  • 幅広いユースケース に対応する次世代デジタルコマースの基盤

Hackerたちの意見

起源に興味がある人には、Coinbaseがスポンサーのプロトコルだよ。Stripeがこの分野に本格的に参入して、"Stripe-land"での独占を狙ってるから、オープンなプロトコルがあるのはいいことだと思う。

問題なのはAPIペイロードの形じゃないよね?少ないけど、銀行が決済用のREST APIを持ってないのが問題だと思う。

本当にオープンな決済プロトコルは、どんな通貨でも扱えるべきだし(暗号通貨を強制するべきじゃない)、商人と買い手が決済方法や仲介者、キャンセルや紛争ポリシーについて合意するのに任せるべきだよね。そうすれば、例えばSEPAの中には、即時かつ取り消し不可能な決済を無料で提供するオプションもあるかもしれない。

Cloudflareが使ってるよ: https://blog.cloudflare.com/x402/

ホワイトペーパーにはLightningやBitcoinについての言及が全くないね。Baseだけで、これはCoinbaseが開発したEthereumのL2ロールアップで、x402標準の背後にあるもの。これが進展しないことを願ってる。明らかにCoinbaseは自社のスタックを押し進めることに興味がありすぎる。自由でオープンな決済は、真に分散化されるためにはBitcoinベースであるべきだと思う。LightningやLiquidのようなL2でね。

Bitcoinの上にエージェントアプリケーションを構築するのは本当に難しいよ。EVM全体では一般的に可能だけど、Baseだけじゃなくて多くのネットワークでね。x402が利用するEVM互換ネットワークはBaseだけじゃないよ。

ビットコインの取引ができるのはいいけど、それが唯一の本当の分散型の方法だって言うのはちょっとおかしいよね。

人々はドルで取引したいんだよ。

あなたは知識豊富なクリプトユーザーみたいだね。x402にライトニング決済を統合する手助けしてくれない?そしたら、このBaseとか企業向けのテクノロジーの無駄がなくなるよ。

無料でオープンな支払いは、本当に分散化されるためにはビットコインベースであるべきだね。 同意だよ。だから5年前に、L402(以前はLSATとして知られていた)を開発してこのギャップを埋めたんだ:* https://github.com/lightninglabs/L402 (https://lightning-labs-2.gitbook.io/lsat) * https://lightning.engineering/posts/2020-03-30-lsat/ 定義されたx402プロトコルは、純粋にアウトオブバンドの支払い検証を使用してる。この特性のおかげで、「1行のコード」で統合を追加するのは完全に正確ではなくて、クライアントとサーバーの両方で支払い受領を確認するためにかなりの量のコードが必要なんだ。L402は、プロトコル内でライトニングネットワーク(LN)を直接利用するので、より意見が強い。サーバーはクライアントにLN請求書に埋め込まれたSHA 256の支払いハッシュを提示する。サーバーはクライアントにその支払いハッシュのプレイメージを提示するよう要求する。クライアントがそのプレイメージを取得する唯一の方法は、ライトニングネットワークで請求書を支払うことなんだ(すべての支払いは条件付き支払いで、プレイメージを明らかにしないと支払いが完了しない)。L402はまた、マカロンのレイヤーを追加して、プロトコルが支払いと詳細な認証の両方を処理できるようにしてる。LNの利点は、CoinbaseのBaseチェーンのようなものに比べて:* プライバシー:Coinbaseと全世界があなたの取引を見てる。* 分散化と信頼性:Baseはシングルトンインスタンスだから、ダウンすると取引ができなくなる。LNはインターネットのように分散化されてるから、障害を回避することができる。* 決済速度:Baseのブロックは2秒ごとに発生するけど、その期間中は取引が確定しない。でもそれはBaseにコミットしてるだけで、基盤となるETHチェーンは12秒のブロック時間がある。LNのレイテンシは主にエンドツーエンドのネットワーク遅延の影響を受けるから、100ms程度になることもあるよ。

ビットコインは名ばかりの分散型だね。

プロトコルは「手数料なし」を謳ってるけど、それは誤解を招くよ。ブロックチェーンに基づいてるなら、取引手数料は必ず発生するからね。もし彼らが解決したい問題が少額決済(「高い最低額はない」と主張してる)なら、パーセンテージ手数料は問題じゃないけど、取引ごとの手数料はかなり大きくなる可能性がある。さらに、ブロックチェーンによっては手数料の変動にもさらされるから、それも別の問題かも。何か見落としてる?

プロトコルは「手数料なし」を謳ってるけど、それは誤解を招くよ。ブロックチェーンに基づいてるなら、取引手数料は必ず発生するからね。最近では、オンチェーンの多くの取引タイプは完全に無料で、ガスコストがサブセントだから補助されてるよ。[1] x402は主にBaseのようなL2ネットワークで機能していて、エージェント間の個々の取引コストは一般的に問題にならない。

x402というプロトコルには手数料がないけど、基盤となるネットワーク取引にはコストがかかることがある。商人は自分の用途に最適な基盤ネットワーク取引を選べるんだ。x402にはファシリテーターの概念もあって、基盤の決済ネットワークを抽象化する役割を持っている。多くのファシリテーター(コインベースのも含めて)は、取引に使うガス代を補助しているよ。

手数料がすごく低いブロックチェーンもあるよね、例えばソラナとか。

プロトコルには手数料がないよ。ブロックチェーンと一緒に使うと、もしかしたら手数料がかかるかも。VISAと使うと手数料が発生するしね。

Coinbaseのブロックチェーン(Base)は、USDCの送金手数料が一般的に1セント未満だよ。Solanaの手数料もそのくらいだね。

Nanoは、スパムを防ぐために何らかの作業をしないといけないけど、取引手数料は0だよ。ちょっと自己宣伝になるけど、これ見てね: https://www.youtube.com/watch?v=8hHG8gOkZBE & https://github.com/SerJaimeLannister/randomnano それから、怠け者だから、これが何のソフトウェアかをHNのコメントでしか書いたことがないんだ。これをまとめるのが一番いいと思うのは、ここ: https://news.ycombinator.com/item?id=44700680 これがカスタムnanoバニティIDジェネレーターを使って、ブロックチェーンにデータを埋め込むために多くの取引をループさせるものなんだけど、ガス代は0だよ。いつかこれを使って何かしたいけど、どうやるかもわからないし、分散型の性質を考えると、やる価値があるのかもわからない。大学と仕事を確保できたら、これで遊んでみたいな。

これらはすべて解決可能な問題で、分散型システムで手数料を0.0000000000001セント未満にできるよ。手数料の変動は存在するけど、それはオープン性の前提条件だね。

銀行や決済処理業者と15年間仕事をしてきたけど、1000%の確信を持って言えることがある。まともな銀行はこれに10フィートの棒で触れようとはしないよ。今も、20年後もね。

もし去年、社長とファーストレディがそれぞれメモコインを持つって言ったら、同じこと言ってた?

アンカレッジはすでにベースをサポートしているみたいだね。

CoinbaseやKrakenなんかはやるだろうね。彼らは銀行と繋がってるから、銀行が関わりたくないって言っても問題なさそう。

18年前: https://www.reddit.com/r/WTF/comments/6hc3w/comment/c03udg0/ > 「このコードは将来の使用のために予約されています。」 > AT&Tやコムキャスト、タイムワーナーなんかがインターネットを有料道路にする計画を成功させたときのために。「ああ、あなたのパケットをreddit.comに送るの?それには$0.00015かかります。」 Redditの人はいいアイデアを持ってたけど、名前が間違ってたね。

Coinbaseの誰がHTTP 402が使われてないって判断したのか分からないけど、402を返して「請求書を支払って続行してください」ってページを表示するサイトもあるよ。全てのサイトが急にこのブロックチェーン決済方法をサポートするわけじゃないからね。

402が使われてないわけじゃなくて、標準のレスポンスがないからAIエージェントがアクセスのために支払うのが難しいんだ。x402は、クライアントがプログラムで使える標準のレスポンスフォーマットを提供して、安定したコインのようなクリプト資産や、将来的には法定通貨の方法で支払いを作成できるようにしてる。

名前の選び方がちょっと怪しい感じがする。国際的に受け入れられてる基準みたいに聞こえるマーケティングの手法に見えるよ、例えばX.500みたいに。あ、ちなみに、もうX.402は存在してるからね。[1] https://www.itu.int/rec/T-REC-X.402/en

ステーブルコインでこれをやる一番簡単な方法は何?最近USDCを見た時、フォローしてたチュートリアルの最後に「ガス取引手数料を支払うためにエーテルコインも必要だから忘れないでね」って軽く言われたんだ。それは、間違ったアドレスやブロックチェーンに送らないようにって警告があった後のことだよ。(ステーブルコインは色んなブロックチェーンにあって、送信者と受信者が同じチェーンにいることを手動で確認しなきゃいけないみたいで、そうじゃないとコインが消えちゃう)他のコインがたくさん必要で、しかも複雑すぎるのは何の意味があるの?この複雑さや調整が必要な感じは、クリプト好きにはたまらないかもしれないけど、ただ支払いをしたいだけの人には難しすぎるよ。

x402はガス代を気にしなくていいよ!人間の視点から試してみたいならここからどうぞ: https://www.x402.org/protected それから、ステーブルコインを受け取ったり使ったりする方法はここで見られるよ: https://github.com/coinbase/x402/tree/main/examples/typescri... https://github.com/coinbase/x402/blob/main/examples/typescri...

USDCはSolanaでも使えるけど、そこでも手数料がかかるよ。ただ、めっちゃ少ないけどね。Coinbaseから自分のSolanaウォレットにUSDCを送ったけど、手数料はかからなかったから、Coinbaseがわざわざ手数料を取るほどじゃないんだと思う。アドレスについてだけど、これは避けられないよね。暗号通貨を送るとき、受取人のアドレスに本当にウォレットが存在するかどうかや、送りたい相手がそのアドレスにいるかどうかを確認する方法はないから、正しいアドレスを使ってるか注意しないといけない。EthereumはENSアドレスを使ってこの問題を解決しようとしてる。だから、アメリカの送金と似たような感じだよ。間違ったアカウントやルーティング番号を使ったら、もうどうしようもないからね。受取人の名前で確認する方法もあるけど、相手がただの銀行にいるだけで、銀行名しか出てこない場合は、あまりできることがないんだよね。

ステーブルコインでこれをやる一番簡単な方法は? AIエージェントに暗号ウォレットを渡して、USDCを持ってることを確認する。 > なんで他のコインも必要なのに、こんなに複雑なの? それは、CDPチームがCoinbaseの今の流行に合ったものを作ったからだよ — エージェントによる支払い。要するに、エージェントによる支払いのためのプロトコルなんだ。作ったチームも、実際にどう機能すべきかや、具体的なユースケースが何かをよくわかってないみたいだけど、AIエージェントが暗号ウォレットを持ってて、エージェントが支払いの壁にぶつかる代わりに、普通に支払いができたら面白いよね? > この複雑さと調整が必要な感じは、暗号通貨オタクが好きそうだけど、ただ支払いをしたいだけの人にはちょっと難しいよね。これは妥当な批判だと思う。Bridge/Privy/Stripeのアプローチは全然違って、現在の問題にもっと焦点を当ててる。

これを使った経験だけど、クライアントのリストから「Frame」を選んだよ。1. ファウセットからUSDCをもらうのは結構簡単だった。2. Frameをブラウザに接続するのも上手くいった、x402はすぐに検出された。3. 最初の取引が消えちゃって、送信したらページが永遠に回ってた。2回目の取引をしないといけなかった。もしこれが本物のお金だったら、最初の取引がメモプールのどこかで放置されてるから、簡単に二重に支払わせることができちゃうよ。4. Frameはあまりおすすめできないツールだね。取引ログがないから、一度コミットしたら「同じノンスで別の取引を送るけど、もっとガスを増やす」みたいなトリックが使えない。しかも、ほとんどメンテされてないみたい。5. 2回目の取引は問題なく動いて、処理もほぼ瞬時で、フィードバックも良かった。