为 HTTP 内容收费
x402-proxy 模板是一个位于任意 HTTP 后端前的 Cloudflare Worker。当请求命中受保护的路由时,代理会返回带有支付指令的 402 响应。客户端付款后,代理验证支付并将请求转发到你的源站。
将 x402-proxy 模板部署到你的 Cloudflare 账户:
前置条件
- 一个 Cloudflare 账户 ↗
- 一个待设置门槛的 HTTP 后端
- 一个用于接收付款的钱包地址
配置
在 wrangler.jsonc 中定义受保护的路由:
{
"vars": {
"PAY_TO": "0xYourWalletAddress",
"NETWORK": "base-sepolia",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/premium/*",
"price": "$0.10",
"description": "Premium API access"
}
]
}
}
注意
base-sepolia 是测试网络。生产环境请改为 base。
使用 Bot Management 进行选择性收费
借助 Bot Management,代理可以在向爬虫收费的同时让人类用户免费访问站点:
{
"pattern": "/content/*",
"price": "$0.10",
"description": "Content access",
"bot_score_threshold": 30,
"except_detection_ids": [117479730]
}
bot 分数低于 bot_score_threshold 的请求将被引导到付费墙。使用 except_detection_ids 可通过检测 ID 将特定爬虫加入白名单。
部署
克隆模板,编辑 wrangler.jsonc,然后部署:
Terminal window
git clone https://github.com/cloudflare/templates
cd templates/x402-proxy-template
npm install
npx wrangler deploy
完整的配置选项和 Bot Management 示例,请参考模板 README ↗。
自定义 Worker 端点
要获得更多控制权,可使用 Hono 直接将 x402 中间件添加到你的 Worker:
TypeScript
import { Hono } from "hono";
import { paymentMiddleware } from "x402-hono";
const app = new Hono<{ Bindings: Env }>();
app.use(
paymentMiddleware(
"0xYourWalletAddress" as `0x${string}`,
{
"/premium": {
price: "$0.10",
network: "base-sepolia",
config: { description: "Premium content" },
},
},
{ url: "https://x402.org/facilitator" },
),
);
app.get("/premium", (c) => c.json({ message: "Thanks for paying!" }));
export default app;
完整实现请参考 x402 Workers 示例 ↗。
相关内容
- Pay Per Crawl — 无需自定义代码的 Cloudflare 原生变现方式
- 为 MCP 工具收费 — 按工具调用而非按请求收费
- x402.org ↗ — 协议规范