Продавайте свой API AI-агентам.
AI-агенты не могут заполнить форму кредитной карты. Они могут заплатить вам в USDC. Blockchain0x делает этот один вызов API.
Ваш API был разработан для людей. Ваши вызывающие теперь агенты.
Следующее десятилетие доходов от API не будет поступать от регистрации людей. Он будет поступать от AI-агентов, вызывающих API от имени своих пользователей, часто программно и без участия человека. Эти агенты не могут использовать вашу существующую кассу. Они не могут заполнить форму кредитной карты, не могут создать аккаунт, не могут кликнуть по подтверждающему электронному письму, не могут запомнить пароль.
Что они могут сделать, так это прочитать ответ 402 Payment Required, извлечь сумму USDC и получателя из тела JSON, оплатить на Base и повторно сделать вызов с доказательством оплаты. Это вся форма API-коммерции, управляемой агентами. Модель затрат (оплата за вызов в стейблкоине) также гораздо лучше подходит для использования агентами, чем подписки на основе карт: карты не работают при транзакциях менее $1; USDC на Base стоит цент в газе; возвраты не происходят между машинами.
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 означает точную сумму USDC на цепочке EVM. Клиент сопоставляет это перед оплатой.
- network / chainId - цепочка для завершения (основная сеть - Base, CAIP-2 eip155:8453). Миграция может ссылаться на обе сети, перечислив два требования в accepts.
- payToAddress / amountWeiUsdc - кошелек получателя и точная сумма в базовых единицах USDC (500000 = 0.50 USDC, 6 десятичных знаков). Клиент проверяет оба перед оплатой.
- paymentRequestId - связывает оплату с этой котировкой. Адаптер отклоняет X-Payment, который ссылается на другой paymentRequestId, чем указанный маршрут.
- maxAgeSeconds - насколько свежей должна быть оплата. Оплата, старше этого окна, отклоняется, и вызывающий должен оплатить снова.
x402 это машина-к-машине: клиент, осведомленный о x402, читает accepts, оплачивает выбранное требование в цепочке, а затем повторно выдает запрос с заголовком X-Payment, который проверяет адаптер. Клиент, который не говорит на x402, просто получает 402 и не получает результата, что является правильным исходом (вызов не был оплачен). В этом потоке нет хостинговой страницы оформления заказа; платеж завершается программно кошельком вызывающего.
Одна таблица цен. Три языка. Одна форма.
Вы устанавливаете один адаптер и даете ему таблицу цен, ключевую по МЕТОДУ и пути. Он ограничивает только маршруты, которые вы перечисляете; ваш обработчик никогда не видит неоплаченный вызов, потому что, когда он выполняется, заголовок 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), а также net/http для Go. Для других фреймворков тело 402 и заголовок X-Payment являются обычным HTTP, который помощники в @blockchain0x/x402 создают и разбирают - напишите проверку в идиоме вашего стека. Пакеты x402 для Ruby и JVM опубликованы для клиентской стороны.
Когда обращаться к каждому инструменту.
Stripe - это правильный инструмент для человеческой кассы. Blockchain0x - это правильный инструмент для кассы агентов. Они решают разные проблемы и часто находятся рядом на одном API.
| Размерность | Blockchain0x | Stripe Checkout |
|---|---|---|
| Покупатель | Любой HTTP-клиент (человек или AI-агент) | Человек за браузером |
| Требуется авторизация перед оплатой | Нет - первый вызов возвращает 402 с требованиями к оплате | Да - электронная почта + форма карты |
| Скорость расчета | 5 секунд (USDC на Base) | 2-7 дней (карточные сети) |
| Риск возврата платежа | Нет (USDC окончателен) | До 120 дней окна возврата |
| Экономика затрат на транзакцию | Работает за $0.01-$0.10 за вызов (газ Base + наша комиссия) | Комиссии по картам делают транзакции менее $1 невыгодными |
| Возвраты | Вручную - ваш код отправляет USDC обратно на адрес плательщика | Автоматизировано через панель управления Stripe |
| Международная поддержка | Тот же кошелек, любая страна, без дополнительной настройки | Лицензирование по странам, конвертация валют, региональные правила |
| Лучше всего для | Программное использование API, управляемое агентами | Чек-аут с участием человека (регистрация SaaS, электронная коммерция) |
Шаблон, на котором останавливаются большинство поставщиков API: оставьте Stripe для человеческого процесса регистрации (ваша панель управления, ваша страница подписки); добавьте Blockchain0x на границе API для программного доступа агентов. Адаптер x402 только ограничивает маршруты, которые вы указали в его таблице цен, поэтому ваши маршруты для людей, аутентифицированных через Stripe, остаются нетронутыми. Укажите агентов на платные маршруты, а людей на остальные, и обе аудитории обслуживаются одним и тем же кодом API.
Профессиональный для раннего трафика. Бизнес, когда журналы аудита становятся обязательными.
Поставщики API почти всегда начинают с Pro с первого дня: Free только для чтения, а адаптер x402 требует доступа к API для проверки и завершения платежей, а также вебхуки для их отслеживания. API с высоким трафиком переходят в категорию Business по мере роста месячного объема. См. страницу с ценами для точной стоимости на агента и расположения тарифов.
- Free: полезно только для dashboard и изучения metadata. Только чтение, поэтому adapter не может проводить платежи.
- Pro: по умолчанию для монетизации живого API. Полный доступ к API, webhooks, экспортам.
- Business: когда нужны audit logs для compliance или более высокие лимиты API.