← Создание агентов на Cloudflare / agents / tools / payments / x402
Плата за HTTP-контент
Шаблон x402-proxy представляет собой Cloudflare Worker, который располагается перед любым HTTP-бэкендом. Когда запрос попадает на защищённый маршрут, proxy возвращает ответ 402 с инструкциями по оплате. После того как клиент оплатит, proxy проверяет платёж и перенаправляет запрос на ваш origin-сервер.
Разверните шаблон x402-proxy в своей учётной записи Cloudflare:
Предварительные требования
- A Аккаунт Cloudflare ↗
- HTTP-бэкенд для ограничения доступа
- Адрес кошелька для получения платежей
Конфигурация
Определите защищённые маршруты в wrangler.jsonc:
{
"vars": {
"PAY_TO": "0xYourWalletAddress",
"NETWORK": "base-sepolia",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/premium/*",
"price": "$0.10",
"description": "Premium API access"
}
]
}
}Выборочное ограничение доступа с помощью Bot Management
С Bot Management, прокси может взимать плату с краулеров, оставляя сайт бесплатным для людей:
{
"pattern": "/content/*",
"price": "$0.10",
"description": "Content access",
"bot_score_threshold": 30,
"except_detection_ids": [117479730]
}Запросы с показателем Bot Score не выше bot_score_threshold перенаправляются на paywall. Используйте except_detection_ids чтобы разрешить определённые краулеры по Detection ID.
Развернуть
Клонируйте шаблон, отредактируйте wrangler.jsonc, и разверните:
git clone https://github.com/cloudflare/templates
cd templates/x402-proxy-template
npm install
npx wrangler deployПолный список параметров конфигурации и примеры Bot Management см. в шаблон README ↗.
Пользовательские эндпоинты Worker
Для большего контроля добавьте middleware x402 прямо в свой Worker с помощью Hono:
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 ↗ : спецификация протокола