---
title: "x402 与 MPP：AI 代理支付协议对比"
description: "x402 和 MPP 都能让 AI 代理通过 HTTP 为 API 调用付费，但两者在支付轨道、会话支持和协议层原语上有所不同。以下是它们的对比。"
---

# x402 与 MPP：AI 代理支付协议对比

<ImageBlock
  src="https://media.alchemy.com/x402-vs-mpp-comparing-agent-payment-protocols.png"
  alt="x402 与 MPP：智能体支付协议对比"
  width={6050}
  height={3425}
  priority
/>

自主代理需要为所使用的东西付费。不是将来某天,而是现在。每当一个代理查询区块链数据、流式接收 LLM token、或调用付费 API 时,总得有人处理计费。目前的做法是 API 密钥、计费仪表盘和人工开通。有两个协议正在尝试解决这个问题:[x402](/blog/how-x402-brings-real-time-crypto-payments-to-the-web) 和 MPP。

2024 年末,[Coinbase](https://www.alchemy.com/dapps/coinbase) 推出了 [x402](https://www.coinbase.com/developer-platform/discover/launches/x402):一个开放协议,让 AI 代理可以调用某个 API,收到"先付款"的响应,用 Base 上的 USDC 结算,然后重试,整个过程无需 API 密钥、计费账户或人工介入。随后 Tempo 和 Stripe 把这一思路进一步推广,提出了 Machine Payments Protocol(MPP)。MPP 在一份 [IETF Internet-Draft](https://datatracker.ietf.org/doc/draft-ryan-httpauth-payment/) 中定义,把 402 模式推广为一个与支付方式无关的通用框架,通过单一协议支持[稳定币](https://www.alchemy.com/dapps/top/stablecoins)、银行卡、银行转账以及未来任何支付通道。

本文将分析这两个协议的异同、重叠之处,以及各自适用的场景。

## 概览

<EmbeddedTable
  table={{
    columns: [
      { key: "feature", width: 180, title: "", dataType: "object" },
      { key: "x402", width: 280, title: "x402", dataType: "object" },
      { key: "mpp", width: 280, title: "MPP", dataType: "object" },
    ],
    data: [
      {
        feature: { title: "Payment rails", tooltip: "", icon: "" },
        x402: { title: "USDC on Base and other networks", tooltip: "", icon: "" },
        mpp: { title: "Stablecoin, card, bank: pluggable", tooltip: "", icon: "" },
        id: 0,
      },
      {
        feature: { title: "Payment models", tooltip: "", icon: "" },
        x402: { title: "One-shot (exact)", tooltip: "", icon: "" },
        mpp: { title: "One-shot (charge) + sessions", tooltip: "", icon: "" },
        id: 1,
      },
      {
        feature: { title: "Session support", tooltip: "", icon: "" },
        x402: { title: "No", tooltip: "", icon: "" },
        mpp: { title: "Yes (escrow + signed vouchers)", tooltip: "", icon: "" },
        id: 2,
      },
      {
        feature: { title: "Protocol primitives", tooltip: "", icon: "" },
        x402: { title: "Implementation-defined", tooltip: "", icon: "" },
        mpp: { title: "Standardized (idempotency, expiry, receipts, replay protection)", tooltip: "", icon: "" },
        id: 3,
      },
      {
        feature: { title: "Transport", tooltip: "", icon: "" },
        x402: { title: "HTTP", tooltip: "", icon: "" },
        mpp: { title: "HTTP + MCP", tooltip: "", icon: "" },
        id: 4,
      },
      {
        feature: { title: "Standardization", tooltip: "", icon: "" },
        x402: { title: "Open-source, community-adopted", tooltip: "", icon: "" },
        mpp: { title: "IETF Internet-Draft (co-authored by Tempo and Stripe)", tooltip: "", icon: "" },
        id: 5,
      },
    ],
  }}
/>

## x402 和 MPP 如何处理核心支付流程?

从本质上讲,两个协议遵循相同的流程:代理调用某个 API,服务器返回一个支付challenge,客户端付款并重试,然后获得响应。简单、优雅,且原生基于 HTTP。

两者的区别在于适用范围、灵活性,以及各自选择标准化的内容。

## x402 和 MPP 如何处理支付通道?

x402 是围绕链上[稳定币支付](https://www.alchemy.com/dapps/best/stablecoin-payments)构建的,主要是 Base 及其他受支持网络上的 USDC。如果你的场景是原生加密代理用稳定币付款,x402 能让你直接实现这一目标。

MPP 采取了不同的做法:协议本身与支付方式无关。核心规范定义了服务器和客户端如何协商、发出challenge以及结算,而实际的支付通道是一个可插拔的层。目前,MPP 已经提供两种可用于生产环境的支付方式:Tempo(稳定币支付)和 Stripe(银行卡、钱包及其他传统支付方式),服务器可以同时公布这两种方式。客户端会选择自己支持的那一种。

任何人都可以通过定义请求schema和payload schema来定义新的支付方式,无需基金会或中间方批准。支付方式之间靠采用率竞争,而不是靠授权。

如果你面向的是原生加密用户,x402 能让你最快实现目标。如果你面向的是企业客户、传统支付集成商或混合用户群体,MPP 的多通道支持意味着你无需二选一。对于需要直接与传统商户交易的代理,[AgentCard](https://agentcard.ai/) 这类项目提供了互补方案:发行代理可用于任何在线购物的信用卡,并内置消费限额与实时追踪。

## 它们支持哪些支付模型?

x402 聚焦于"exact"支付模型:一次请求、一次付款、一次响应。这种方式清晰、易于理解,适合离散的 API 调用。

MPP 通过其 charge intent 支持相同的流程,实际上,x402 的 exact 流程可以直接映射到 MPP 的 charge 上,这使得两个协议在这一层面是兼容的。

但 MPP 还引入了 sessions:一种针对高吞吐场景的、根本不同的支付模型。使用 sessions 时,客户端一次性将资金存入托管合约,随后通过链下的签名凭证发起多次请求。服务器会定期在链上结算累积的凭证。

以下是每种流程的简化示意:

### X402:一次请求,一次付款

<CodeSnippet code={`# Step 1: Call the API
GET /v2/eth-mainnet/getTokenBalances HTTP/1.1

# Step 2: server responds with payment challenge
HTTP/1.1 402 Payment Required
X-Payment-Challenge: {"amount": "0.001", "currency": "USDC", "address": "0x..."}

# Step 3: client pays on-chain, retries with receipt
GET /v2/eth-mainnet/getTokenBalances HTTP/1.1
X-Payment: {"txHash": "0x...", "signature": "0x..."}

# Step 4: server verifies and responds
HTTP/1.1 200 OK`} />

### MPP session:一次存款,发起数千次请求

<CodeSnippet code={`# Step 1: Open a session (deposit funds to escrow once)
POST /mpp/sessions HTTP/1.1
{"amount": "10.00", "currency": "USDC", "method": "tempo"}

HTTP/1.1 201 Created
{"sessionId": "sess_abc123", "balance": "10.00"}

# Step 2: make requests with signed vouchers (no on-chain tx per request)
GET /v2/eth-mainnet/getTokenBalances HTTP/1.1
MPP-Session: sess_abc123
MPP-Voucher: {"amount": "0.0001", "nonce": 42, "sig": "0x..."}

HTTP/1.1 200 OK  # Sub-100ms, no waiting for chain confirmation`} />

MPP sessions 能够实现:

- 低至 **每次请求 $0.0001** 的付款
- 亚 100 毫秒延迟:每次请求无需链上确认
- 接近零的单次请求费用:只有净结算才会上链

**为什么重要:** 按 token 付费的 LLM 流式传输、高吞吐数据流,以及实时链上监控,都因此变得经济可行。若每次交互都要链上付款,gas 成本会超过数据本身的价值。sessions 彻底改变了这一算法,让基于微支付的访问在规模化场景下变得可行。

## 每个协议提供了哪些协议层面的原语?

MPP 将若干生产环境的关切直接内置到协议规范中,让每个实现都能直接继承,而不必各自重新造轮子:

- **幂等性:** 安全重试,不会重复扣款
- **过期机制:** challenge 会超时,防止使用过期的支付
- **请求体绑定:** SHA-256 摘要防止在challenge和付款之间被篡改
- **重放保护:** 与 HMAC 绑定的 challenge ID
- **结构化错误:** RFC 9457 格式,便于机器可读的错误处理
- **一等公民的收据:** 标准化的支付收据,便于审计

x402 在实现层面处理了其中一部分,但把其余部分留给了各个开发者。MPP 将这些内容标准化,让每个服务器和客户端开箱即用地说同一种语言,这在来自不同厂商的代理需要可靠互操作时尤为重要。

## MPP 是否支持 HTTP 以外的场景?

x402 运行在 HTTP 之上。MPP 同样运行在 HTTP 之上,但还增加了 MCP(Model Context Protocol)传输绑定。

这意味着 MCP 工具服务器可以直接对工具调用收费。AI 代理在调用付费工具时,会在工具响应中收到支付challenge,付款后重试,整个过程都在 MCP 消息流内完成。无需 OAuth,无需账户设置,也不需要 HTTP 层。

在此之前,让 AI 工具调用产生收益需要带外计费或平台协议。有了 MPP 的 MCP 传输,开发者可以发布一个付费工具,任何兼容 MCP 的代理都能发现它、付款并自主使用,全程无需人工介入。

## 它们在标准化方面表现如何?

x402 是一个开源协议,社区采用度不断增长,在 Coinbase 的生产环境中久经考验,并在整个生态系统中获得越来越多的支持。

MPP 的核心部分——[Payment HTTP Authentication Scheme](https://datatracker.ietf.org/doc/draft-ryan-httpauth-payment/)——已作为 IETF Internet-Draft 提交,由 Tempo 和 Stripe 共同撰写。支付方式和intent是独立的规范,任何人都可以单独撰写和发布。这与 web 本身的运作方式类似:HTTP 是标准化的,但内容类型和认证方案各自独立演进。

Internet-Draft 是一份工作文档,尚未成为标准轨道的 RFC,但提交给 IETF 表明了朝长期互操作性和稳定性发展的意图。

## x402 和 MPP 是否兼容?

是的。MPP 向后兼容 x402。x402 的核心"exact"支付流程可以直接映射到 MPP 的 charge intent 上,因此 MPP 客户端可以使用现有的 x402 服务。如果你已经基于 x402 构建了应用,MPP 是对现有能力的扩展,而不是替代。

## 开始使用 Alchemy 构建

Alchemy 在其 API 平台中同时支持 x402 和 MPP。这意味着你的代理可以访问区块链数据(代币余额、NFT 元数据、交易历史、智能合约读取、价格 feed 等等),并通过任一协议按请求付费。无需 API 密钥,无需计费仪表盘,只需一个钱包和一次 HTTP 调用。

使用 x402 时,代理通过 SIWE(Sign-In with Ethereum)或 SIWS(Sign-In with Solana)进行身份验证,用 Base 上的 USDC 付款,即可访问 [Alchemy 的端点](/blog/ai-agents-can-now-sign-up-for-alchemy)。使用 MPP 时,同一个代理可以在多种支付方式间协商(通过 Tempo 使用稳定币,通过 Stripe 使用银行卡),并针对索引管道或实时链上监控等高吞吐工作负载使用 sessions。

你可以构建:

- **自主区块链代理**,查询链上数据并为每次调用付费,无需人工开通
- **多链数据管道**,从 Ethereum、Base、Polygon、Solana 等链拉取数据,通过 MPP sessions 以低于一美分的费率按请求付费
- **AI 驱动的钱包与副驾**,获取投资组合数据、模拟交易并监控地址,全部自筹资金
- **MCP 工具服务器**,将 Alchemy 端点封装为付费工具,让任何兼容 MCP 的代理按需访问区块链基础设施

### 在终端中试用

安装 [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli),然后添加 [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills) 并连接 [MCP 服务器](https://www.alchemy.com/docs/alchemy-mcp-server):

<CodeSnippet
  language="bash"
  code={`npm i -g @alchemy/cli@latest
alchemy auth
npx skills add alchemyplatform/skills --yes

# Claude Code
claude mcp add alchemy --transport http https://mcp.alchemy.com/mcp

# Codex
codex mcp add alchemy --url https://mcp.alchemy.com/mcp

alchemy --json --no-interactive balance vitalik.eth -n eth-mainnet`}
/>

准备好了吗?前往 [alchemy.com/agents](/agents) 探索该平台,开始构建能够为自身基础设施付费的代理。

## 常见问题

**我可以同时使用 x402 和 MPP 吗?**

可以。由于 MPP 的 charge intent 向后兼容 x402,你可以同时支持两者。服务器可以同时公布这两种协议,让客户端自行选择支持的那一种。

**我应该选哪个?**

如果你在构建一个用稳定币付款的原生加密代理,并希望以最简单的方式投入生产,可以从 x402 开始。如果你需要多通道支付支持、面向高吞吐工作负载的 sessions、MCP 传输集成,或标准化的协议原语,MPP 更适合你。你不必放弃已有的 x402 投入就能实现这一切。

**x402 会被 MPP 取代吗?**

不会。MPP 被设计为与 x402 兼容,而不是取代它。可以把 MPP 看作是一种演进,它增加了 x402 本来就没打算提供的能力。x402 社区仍在独立持续增长。

**MPP 目前支持哪些支付方式?**

MPP 提供两种可用于生产环境的支付方式:用于稳定币支付的 Tempo,以及用于银行卡、钱包和其他传统支付方式的 Stripe。由于支付方式是可插拔的,任何人都可以通过定义请求schema和payload schema来定义并发布新的支付方式。

**使用这些协议需要自己搭建基础设施吗?**

不需要。Alchemy 在其 API 平台中同时支持 x402 和 MPP,因此你可以开始构建能为区块链数据付费的代理,而无需自己搭建任何支付基础设施。前往 [alchemy.com/agents](/agents) 即可开始。
