将您的API出售给AI代理。
AI代理无法填写信用卡表单。它们可以用USDC支付给您。Blockchain0x只需一次API调用。
您的 API 是为人类设计的。现在调用者是代理。
未来十年的API收入不会来自人类注册。它将来自AI代理代表其用户调用API,通常是程序化的,并且没有任何人参与。这些代理无法使用您现有的结账流程。他们无法填写信用卡表单,无法创建账户,无法点击确认电子邮件,无法记住密码。
他们可以做的是读取 402 Payment Required 响应,从 JSON 主体中解析出 USDC 金额和收款人,在 Base 上付款,并重新发出带有付款证明的调用。这就是代理驱动的 API 商务的全部形态。成本模型(以稳定币按调用计费)也比基于卡的订阅更适合代理使用:卡在低于 1 美元的交易中失败;Base 上的 USDC 仅需几美分的燃气费;机器之间不会发生退款。
Blockchain0x是桥梁。在定价表中列出您想要收费的路由并挂载x402适配器。当未支付的调用命中定价路由时,适配器返回一个402,准确描述需要支付的内容。代理在Base上支付并使用X-Payment头重试;适配器验证它,您的处理程序运行。您收集USDC并像以前一样运行您的API。您的业务逻辑没有任何变化;计费层与之并行。
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.
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 中列出两个要求来引用两个网络。
- payToAddress / amountWeiUsdc - 收款钱包和以 USDC 基本单位表示的确切金额(500000 = 0.50 USDC,6 位小数)。客户端在付款前验证这两者。
- paymentRequestId - 将付款与此报价关联。适配器拒绝引用与报价路由不同的 paymentRequestId 的 X-Payment。
- maxAgeSeconds - 付款必须多新。超过此窗口的付款将被拒绝,调用者必须再次付款。
x402 是机器对机器:一个 x402 识别的客户端读取 accepts,在链上支付所选要求,然后使用适配器验证的 X-Payment 头重新发出请求。一个不支持 x402 的客户端只会接收到 402 并没有结果,这是正确的结果(调用未支付)。在此流程中没有托管结账页面;支付由调用者的钱包以编程方式结算。
一个定价表。三种语言。相同的形状。
您安装一个适配器,并为其提供一个按 METHOD 加路径键入的定价表。它仅限制您列出的路由;您的处理程序从未看到未支付的调用,因为在运行时,X-Payment 头已经过验证。形状在 Python、TypeScript 和 Go 中是相同的 - X-Payment 电缆格式相同,因此 Go 服务器接受由 Python 客户端构建的头。
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 verifiesimport 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
});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 包已发布用于客户端。
何时使用每个工具。
Stripe是人类结账的合适工具。Blockchain0x是代理结账的合适工具。它们解决不同的问题,并且经常并排放置在同一API上。
| 维度 | Blockchain0x | Stripe 结账 |
|---|---|---|
| 买家 | 任何 HTTP 客户端(人或 AI 代理) | 在浏览器上的人类 |
| 付款前需要身份验证 | 不 - 第一次调用返回402,带有支付要求 | 是的 - 电子邮件 + 卡片表单 |
| 结算速度 | 5秒(Base上的USDC) | 2-7天(卡网络) |
| 退单风险 | 无(USDC是最终的) | 最长120天的退款窗口 |
| 按交易成本经济学 | 每次调用费用为$0.01-$0.10(基础燃气费 + 我们的费用) | 卡费使得低于 $1 的交易不经济 |
| 退款 | 手动 - 你的代码将USDC发送回付款地址 | 通过 Stripe 仪表板自动化 |
| 国际支持 | 相同的钱包,任何国家,无需额外配置 | 按国家许可、货币转换、区域规则 |
| 最佳适用 | 程序化代理驱动的API消费 | 人驱动的结账(SaaS注册,电子商务) |
大多数 API 提供商采用的模式:将 Stripe 保留用于人类注册流程(您的仪表板,您的订阅产品页面);在 API 边缘添加 Blockchain0x 以进行程序化代理访问。x402 适配器仅限制您放入其定价表中的路由,因此您的人类、Stripe 认证的路由不会受到影响。将代理指向定价路由,将人类指向其余路由,这样两个受众都由相同的 API 代码提供服务。
适合早期流量的专业版。当审计日志成为要求时选择商业版。
API提供商几乎总是从第一天开始选择Pro:免费版是只读的,而x402适配器需要API访问权限来验证和结算支付,以及webhook来跟踪它们。高流量API随着每月交易量的增加而进入商业领域。请查看定价页面以获取每个代理的确切费用和各个层级的位置。
- Free:仅适合 dashboard 和元数据探索。为只读模式,因此 adapter 无法完成付款结算。
- Pro:实时 API 变现的默认选择。完整 API 访问、webhooks、导出功能。
- Business:当你需要用于合规的审计日志,或更高的 API 限流时。