HTTP 402 Payment Required · ES256 JWKS · 21 инструмент MCP

Превратите любой REST API или эндпоинт MCP в самоокупаемый пейволл.

Банковские карты нерентабельны ниже $1.00 и блокируют автономных ИИ-агентов без корпоративных карт. XPayr выводит HTTP `402 Payment Required` в продакшен: запрашивайте оплату у неавторизованных клиентов через некастодиальную сессию в стейблкоинах, рассчитывайте 99.5% в Base, Solana, Arbitrum, TRON или Circle Arc и проверяйте stateless-токены ES256 JWT доступа за доли миллисекунды на уровне edge-middleware.

Шаг 1 · Запрос

Агент вызывает защищённый API

Запрос `GET /v1/intelligence` поступает без лицензионного ES256-токена `Authorization: Bearer` или квитанции об оплате.

Шаг 2 · Вызов 402

Сервер возвращает HTTP 402

Middleware создаёт или указывает SKU оплаты/лицензии XPayr и возвращает `402 Payment Required` вместе с метаданными `X-Payment-Required`.

Шаг 3 · Политика и расчёт

Агент оплачивает в стейблкоинах

Агент проверяет лимиты через `@xpayr/mcp-server` (`POST /api/mcp`), оплачивает в USDC/USDT (99.5% напрямую на кошелёк мерчанта) и получает ES256 JWT.

Шаг 4 · Stateless-разблокировка

Субмиллисекундная проверка JWKS

Агент повторяет запрос с `Authorization: Bearer <jwt>`. Edge-middleware проверяет ES256 офлайн по `/.well-known/jwks.json` и отдаёт `200 OK`.

1. Стандартная нагрузка вызова HTTP `402 Payment Required`

HTTP/1.1 402 Payment Required
Content-Type: application/json
WWW-Authenticate: XPayr402 realm="api.merchant.example", jwks="https://xpayr.com/.well-known/jwks.json"
X-Payment-Required: protocol="xpayr-x402-v1", amount="5.00", currency="USD", fee_bps="50"

{
  "error": "payment_required",
  "protocol": "xpayr-x402-v1",
  "amount": "5.00",
  "currency": "USD",
  "accepted_rails": ["base:USDC", "solana:USDC", "arbitrum:USDT", "tron:USDT", "arc-testnet:USDC"],
  "checkout_url": "https://xpayr.com/buy/pro-api-pass",
  "mcp_endpoint": "https://xpayr.com/api/mcp",
  "mcp_tool": "xpayr_create_payment_session",
  "jwks_uri": "https://xpayr.com/.well-known/jwks.json"
}

2. Промежуточный слой Node.js / Edge (`@xpayr/extension-kit` v0.2.0)

import { createRemoteJWKSet, jwtVerify } from 'jose';

const XPAYR_JWKS = createRemoteJWKSet(
  new URL('https://xpayr.com/.well-known/jwks.json')
);

export async function requireXpayr402(req, res, next) {
  const token = (req.headers.authorization || '').replace(/^Bearer\s+/i, '');
  if (token) {
    try {
      const { payload } = await jwtVerify(token, XPAYR_JWKS, { algorithms: ['ES256'] });
      req.xpayrEntitlement = payload;
      return next();
    } catch (_) { /* expired or invalid token -> emit 402 below */ }
  }
  return res.status(402)
    .set('WWW-Authenticate', 'XPayr402 jwks="https://xpayr.com/.well-known/jwks.json"')
    .json({
      error: 'payment_required',
      protocol: 'xpayr-x402-v1',
      checkout_url: 'https://xpayr.com/buy/api-credits-10k',
      mcp_endpoint: 'https://xpayr.com/api/mcp'
    });
}

Часто задаваемые вопросы — HTTP 402 и агентские пейволлы

Как XPayr реализует протокол HTTP 402 Payment Required для API и ИИ-агентов?

Когда неаутентифицированный клиент или ИИ-агент обращается к защищённому эндпоинту без действующего лицензионного токена XPayr ES256 или подтверждения оплаченной сессии, ваше middleware возвращает HTTP 402 с JSON платёжного вызова XPayr (и заголовками WWW-Authenticate / X-Payment-Required). После оплаты в сети Base, Solana, Arbitrum, TRON или Circle Arc клиент получает криптографически подписанный ES256 JWT, проверяемый офлайн через https://xpayr.com/.well-known/jwks.json.

Добавляет ли проверка bearer-токена HTTP 402 задержку к каждому API-вызову?

Никаких сетевых запросов на каждый вызов не требуется. Ваш edge-воркер или бэкенд кэширует публичный ключ P-256 XPayr из /.well-known/jwks.json и локально проверяет подпись ES256 JWT менее чем за 0.2 миллисекунды.

Как автономные ИИ-агенты могут автоматически оплачивать вызов HTTP 402?

Агенты, подключённые к @xpayr/mcp-server (или POST https://xpayr.com/api/mcp), анализируют вызов 402, проверяют политику защитных лимитов мерчанта (/tools/ai-agent-policy-simulator), исполняют платёжное намерение в стейблкоинах или запрашивают одобрение, после чего повторяют запрос с полученным заголовком Authorization: Bearer <es256_license_jwt>.

Где размещён машиночитаемый манифест обнаружения x402 от XPayr?

Ознакомьтесь с https://xpayr.com/.well-known/x402.json наряду с https://xpayr.com/.well-known/agents.json и https://xpayr.com/.well-known/mcp.json.