AI 支付协议概览
AI 支付协议是一套面向协议的无鉴权 API,旨在使 AI Agent 和自主客户端能够代表用户发现、协商并执行支付。
与依赖服务端 API Key 的核心商户 API 不同,AI 支付协议在所有状态变更操作中都使用 EIP-712 签名,确保用户明确授权支付流程的每一步。
核心概念
1. EIP-712 授权
所有状态变更 API(如创建会话或准备支付)都需要来自支付者钱包的 EIP-712 签名。该机制取代了传统的 API Key,主要有两个目的:
- 认证:验证请求是否来自
payer地址。 - 授权:确保用户已明确同意特定的支付参数(金额、代币、链)。
每个请求体都包含一个 message 对象和一个 signature 字符串。message 必须遵循 API 在上一步中提供的特定 EIP-712 类型定义。
2. AI 视图 (AI View)
每个 API 响应都包含一个 aiView 对象。这是当前状态的“协议视图”,专为 AI Agent 消费而设计。它包含:
pricingModel:描述价格如何计算(例如 "fixed" 固定价格)。workflow:指示交易的当前阶段(例如link_ready、session_ready)以及允许的nextAction(下一步动作)。- Requirements (要求):下一步操作的具体指令,例如
createPaymentSessionRequirement或preparePaymentRequirement。这些对象提供了构建下一个请求所需的精确 EIP-712 类型定义。
协议工作流
AI 支付的典型生命周期如下:
- 发现:Agent 获取 Payment Link (
GET /payment/link/:id)。响应包含aiView,其中列出了可用的supportedPaymentTokens和create_payment_session的签名要求。 - 协商与授权:Agent 向用户展示选项。用户选择链和代币,并签署
create_payment_session消息。 - 创建会话:Agent 将签名提交给
POST /payment/session/create以创建 Payment Session。 - 准备:Agent 获取会话状态。如果准备就绪,用户签署
prepare_payment消息以授权资金转账。 - 执行:Agent 将准备签名提交给
POST /payment/prepare。服务器返回原始区块链calldata。Agent(或前端)将此交易广播到区块链。
统一错误处理
所有 AI 支付 API 均遵循平台的 统一错误处理 标准。业务逻辑错误将返回 HTTP 200 OK,并在 JSON 响应体中包含非零的 code 字段。Agent 必须检查 code === 0 以确认成功。