訂閱以接收新文章的通知:

與 Coinbase 一同啟動 x402 Foundation,並支援 x402 交易

2025-09-23

閱讀時間:5 分鐘
本貼文還提供以下語言版本:EnglishDeutschEspañolNederlandsFrançais

Cloudflare 正在與 Coinbase 合作成立 x402 Foundation。該基金會的使命是鼓勵採用 x402 通訊協定,這是一個更新的架構,允許用戶端和服務在網路上使用通用語言來交換值。除了今天建立合作夥伴關係之外,我們還將推出一個功能集,可讓開發人員在 Agents SDK 和我們的 MCP 整合項中使用 x402,並提議新的延遲付款方案。

代理程式時代的付款服務

網路上的付款方式歷來都是為人類設計。我們瀏覽商家的網站,透過將商品加入購物車來顯示購買意圖,以及透過輸入信用卡資訊並按下「付款」來確認購買意圖。但是,如果您想在數位服務之間啟用直接交易,該怎麼辦?我們需要通訊協定來允許機器間的交易。 

每天,Cloudflare 上的網站向試圖存取其內容和電子商務商店的機器人和網路爬蟲傳送超過十億個 HTTP 402 回應碼。此回應碼附帶一個簡單的訊息:「需要付款。」

然而,這些 402 回應往往未被聽見。 原因之一是缺乏標準化。 如果沒有規範,如何格式化和回應這些回應碼,內容創作者、出版商和網站營運者缺乏足夠的工具來傳達他們的付款請求。x402 可為開發人員提供清晰、開放的通訊協定,讓網站和自動化代理程式在全球範圍內協商付款。 

x402 初學指南

Coinbase 編寫了 x402 交易流程(概述如下),以協助機器透過 HTTP 直接支付資源費用:

  1. 用戶端嘗試存取由 x402 閘道控制的資源。 

  2. 伺服器回應狀態碼 402 付款要求。回應正文包含付款說明,其中包括付款金額和收款人。

  3. 用戶端請求帶有付款授權標頭且由 x402 閘道控制的資源。

  4. 付款服務商會驗證客戶的惡意負載並結算交易。

  5. 伺服器在回應中提供請求的資源,並附上確認付款結果的付款回應標頭。 

此流程會建立對網際網路上資源的程式化存取。能夠解釋 x402 通訊協定的客戶端和伺服器可在不需要帳戶、訂閱或 API 金鑰的情況下進行交易。

使用 x402,不僅可讓傳統使用案例獲利,全新類別的使用案例亦可如此。例如:

  • 一個助理能夠從多個商家為您的萬聖節服裝購買配件。

  • 一個 AI 代理程式可依瀏覽器轉譯工作階段付費,而不是支付每月訂閱費用。

  • 一個自主股票交易系統可進行小額支付,以獲取高品質的即時資料饋送來驅動決策。

x402 的未來版本可能不受支付系統的限制,除了穩定幣外,還能支援信用卡和銀行帳戶。 

Cloudflare 的依爬行次數付費:提議 x402 延期付款方案 

代理程式和網路爬蟲通常需要兩項重要功能,這些功能已經存在於當今大部分的金融基礎架構中:延遲結算以處理爭議;以及單一匯總付款,以簡化會計。例如,網路爬蟲參與我們的依爬行次數付費私有測試版,能夠輕鬆爬行大量頁面,產生稽核記錄,然後在每天結束時透過連接的信用卡或銀行帳戶支付單筆費用。 

為了考慮這些付款情境,我們提議針對 x402 通訊協定引入一種新的延後付款方案。 這項新方案專為代理式付款而設計,不需要立即結算,並且可透過傳統付款方式或穩定幣處理。藉由提議這項新增功能,我們可協助確保任何合規的伺服器都能選擇將加密交握與付款結算本身分離,讓代理程式和伺服器能夠使用預先協商的授權協議、批次結算或訂閱。

隨著我們擴展和演進該私有測試版,我們將引入這種新的依爬行次數付費的延遲付款方案。 

交握介紹

以下是我們針對可能在下一個主要版本 x402 中發布的交握功能的初步提議:

1.伺服器的服務

如今,未經驗證或未經授權的用戶端嘗試存取資源,並且會收到 402 需要付款的回應。伺服器會提供一個付款承諾有效負載,用戶端可用於構建再次請求。此回應是一個機器可讀的提議,並且我們的提議包括一種新的延遲方案。

HTTP/1.1 402 Payment Required
Content-Type: application/json

{
  "accepts": [
    {
      "scheme": "deferred",
      "network": "example-network-provider",
      "resource": "https://example.com/page",
      "...": "...",
      "extras": {
        "id": "abc123",
        "termsUrl": "https://example.com/terms"
      },
    }
  ]
}
2. 客戶簽署的承諾

接下來,用戶端會重新傳送請求,並附上包含其付款承諾的已簽署有效負載。延遲方案使用 HTTP 訊息簽名,其中 JWK 格式的公開金鑰可在託管目錄中取得。簽名-輸入標頭清楚地解釋了簽名中包含請求的哪些部分,以充當用戶端意圖的加密證明,而無需服務提供者進行鏈式交易即可驗證。 

GET /path/to/resource HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 Chrome/113.0.0 MyBotCrawler/1.1
Payment:
    scheme="deferred",
    network="example-network-provider",
    id="abc123"
Signature-Agent: signer.example.com
Signature-Input:
    sig=("payment" "signature-agent");
    created=1700000000;
    expires=1700011111;
    keyid="ba3e64==";
    tag="web-bot-auth"
Signature: sig=abc==
3. 成功的回應

資源伺服器可驗證簽名,並傳回帶有確認標頭的內容。伺服器負責將付款歸因於與 HTTP 訊息簽章關聯的帳戶,驗證用戶端的身分,然後傳遞內容。在這種情境下,沒有與付款關聯的區塊鏈。 

HTTP/1.1 200 OK
Content-Type: text/html
Payment-Response:
    scheme="deferred",
    network="example-network-provider",
    id="abc123",
    timestamp=1730872968
4. 付款結算

伺服器現在可靈活地處理結算。交握中經驗證的 ID 作為交易的參考。此方法實現了靈活的使用模型,免除每次請求的開銷,讓伺服器能夠以訂閱、每日或批量方式累計付款。這可建立一個靈活的框架,在其中立即建立加密信任,而財務結算則可使用傳統支付管道或穩定幣。 

Cloudflare 的 MCP 伺服器、Agents SDK 和 x402 付款

執行程式碼能夠將開放慣例從理論層面,轉化為真正實用的技術,並最終使其成為廣泛認可的標準。使用 Cloudflare 的 Agent SDK 建置的代理程式,現在可透過 x402 為資源付費,並且 MCP 伺服器可公開透過 x402 付費的各種工具。為了展示此運作方式,我們建立了 x402 試煉場,這是一個使用 x402 的即時示範。x402 試煉場由 Agents SDK 提供技術支援,可存取 Cloudflare 上部署的 MCP 伺服器中的各種工具。

開啟 x402 試煉場後,可建立一個新的錢包,並使用 Base 區塊鏈測試網上的 Testnet USDC 為其注資。代理程式使用 Agents SDK 進行建置,能夠存取包含免費和付費工具的 MCP 伺服器。

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { McpAgent } from "agents/mcp";
import { withX402 } from "agents/x402";

export class PayMCP extends McpAgent {
  server = withX402(
    new McpServer({ name: "PayMCP", version: "1.0.0" }),
    X402_CONFIG
  );

  async init() {
    // Paid tool
    this.server.paidTool(
      "square",
      "Squares a number",
      0.01, // Tool price
      {
        a: z.number()
      },
      {},
      async ({ number }) => {
        return { content: [{ type: "text", text: String(a ** 2) }] };
      }
    );

    // Free tool
    this.server.tool(
      "add-two-numbers",
      "Adds two numbers",
      {
        a: z.number(),
        b: z.number(),
      },
      async ({ a, b }) => {
        return { content: [{ type: 'text', text: String(a + b) }] };
      }
    );
  }
}

代理程式嘗試使用付費工具時,MCP 伺服器會回應「402 需要付款」。代理程式能夠解譯付款指令,並提示使用者是否要繼續進行交易。要建置與 x402 相容的用戶端,需要對工具調用進行基本封裝:

import { Agent } from "agents";
import { withX402Client } from "agents/x402";

export class MyAgent extends Agent {
  // Your Agent definitions...

  async onToolCall() {

    // Build the x402 client
    const x402Client = withX402Client(
      myMcpClient,
      { network: "base-sepolia", account: this.account }
    );

    // The first parameter becomes the confirmation callback.
    // We can set it to `null` if we want the agent to pay automatically.
    const res = await x402Client.callTool(
      this.onPaymentRequired,
      {
        name: toolName,
        arguments: toolArgs
    });
  }
}

此測試代理程式從錢包中提取資金,並將有效負載傳送至 MCP 伺服器,該伺服器負責結算交易。交易可設定為在有或沒有人工確認的情況下執行,讓您設計最適合應用程式的介面。

接下來做什麼? 

您現在可使用 Agents SDK 或部署自己的 MCP 伺服器來開始使用。

我們將繼續與 Coinbase 密切合作,建立 x402 Foundation。關於具體架構的更多資訊,我們很快會發布公告,敬請期待。

我們認為,開放且互通的協議具有重要價值 – 因此,我們鼓勵所有人直接參與 x402 通訊協定的開發和改進。想要與 Cloudflare 的 x402 團隊聯繫,請寄送電子郵件至 x402@cloudflare.com

我們保護整個企業網路,協助客戶有效地建置網際網路規模的應用程式,加速任何網站或網際網路應用程式抵禦 DDoS 攻擊,阻止駭客入侵,並且可以協助您實現 Zero Trust

從任何裝置造訪 1.1.1.1,即可開始使用我們的免費應用程式,讓您的網際網路更快速、更安全。

若要進一步瞭解我們協助打造更好的網際網路的使命,請從這裡開始。如果您正在尋找新的職業方向,請查看我們的職缺
生日週合作夥伴Coinbasex402

在 X 上進行關注

Will Allen|@williamallen
Cloudflare|@cloudflare

相關貼文

2025年9月29日 下午2:00

15 年來協助建立更好的網際網路:2025 年生日週回顧

Rust 支援的核心系統、後量子升級、面向學生的開發人員存取、PlanetScale 整合、開放原始碼合作關係,以及我們有史以來最大規模的實習生計畫——2026 年會招募 1111 名實習生。...