
Программа не читает ваш лендинг
Она не оценивает дизайн, не запоминает бренды. Она ищет инструмент по описанию, цене, input/output схемам.
Поэтому в мире, где программы вызывают программы, побеждает не тот, кто кричит громче всех, а тот, кто описан яснее всего.
Именно поэтому слой discovery — самая недооценённая часть стека x402. Платёжный протокол, MCP, кошельки — это уже привычные технические компоненты. Discovery — это новый канал дистрибуции с правилами, которых раньше не существовало.
Что такое Bazaar
Bazaar — это discovery-слой для x402: машиночитаемый каталог платных endpoint'ов с семантическими описаниями, платёжными метаданными и сигналами доверия.
Coinbase называет его «поисковой системой для агентов». Задача та же, что у Google, — сделать ваш сервис видимым. Только не для людей, а для программ, которые ищут инструмент под конкретную задачу.
И вместо ключевых слов и обратных ссылок здесь работают другие сигналы:
| Web SEO | Bazaar SEO |
|---|---|
| Ключевые слова | Описание возможностей |
| Обратные ссылки | Успешные settlement'ы (оплаты) |
| CTR | Success rate |
| Контент | input/output схемы |
Вы превращаете API-route в платный endpoint, описываете, что он делает, добавляете цену и сетевые метаданные, а затем позволяете агентам находить его, когда им нужна такая возможность. x402 обрабатывает платёжный flow. Bazaar отвечает за видимость.
Как работает индексация
Центральная роль в x402 принадлежит facilitator — сервису между серверами и блокчейнами, который проверяет и проводит платежи. Во время обработки платежа он забирает метаданные route'а. Если endpoint корректно описан через расширение Bazaar, эти метаданные попадают в каталог.
Ключевое правило: индексация происходит только после успешного settlement. Не verify — settle.
Это сильное архитектурное решение:
- мёртвые endpoint'ы не попадают в каталог
- спам и фейковые листинги становится гораздо сложнее создавать, потому что discovery привязан к реальному платному использованию
- сигналы качества возникают естественно — количество платежей, уникальные плательщики, timestamp последней активности.
Следствие: чтобы появиться в Bazaar, нужен хотя бы один реальный успешный settlement. И только в каталоге того facilitator'а, который его обработал. Самый простой путь — использовать Coinbase CDP Facilitator: он официально поддерживает расширение Bazaar.
Если вы используете несколько facilitator'ов, проведите settlement через каждого из них.
Как агенты находят ваш сервис
После попадания в каталог эндпоинт становится доступен сразу через несколько интерфейсов:
- REST catalog:
/v2/x402/discovery/resourcesдля постраничного просмотра доступных ресурсов - REST search:
/v2/x402/discovery/searchдля семантического поиска с фильтрами и ранжированием по качеству - MCP server:
/v2/x402/discovery/mcp, с инструментами вродеsearch_resourcesиproxy_tool_call. Пакет@x402/mcpоборачивает платёжный цикл — ответ 402, повторный запрос с proof и валидацию. - Lookup by address:
/v2/x402/discovery/merchant?payTo=<address>— все ресурсы, привязанные к конкретному адресуpayTo
Один и тот же endpoint, видимый везде. Одна индексация, просто разные способы его запрашивать.
За какие ranking-сигналы идёт конкуренция
Bazaar не публикует свою формулу ранжирования. Но, учитывая устройство системы, можно довольно близко понять, как она, вероятно, работает.
Почти наверняка в ранжирование входят несколько сигналов:
- семантическая релевантность описания,
- платёжные метаданные: цена, сеть, токен,
- и наблюдаемые on-chain сигналы качества — успешные settlement'ы, уникальные плательщики, регулярность.
Почти наверняка есть и другие — но уже эти объясняют большую часть поведения, которого стоит ожидать.
Из этого следуют практические правила.
Пишите чтобы впечатлить робота, а не человека.
Не «лучший weather API ever», а «Получить текущую температуру, влажность и погодные условия для любого города или координат».
Агенты ищут не по прилагательным. Они ищут по возможностям.
Описывайте параметры конкретно.
Что принимается, в каком формате, обязательно ли поле, какие значения допустимы.
Меньше неоднозначности во входных данных → выше шанс корректного вызова → лучше последующие trust-сигналы.
Не соревнуйтесь в минимальной цене.
Дёшево и ненадёжно — это удар по вашим quality-сигналам.
Прозрачные $0.005 за надёжный вызов лучше, чем $0.0001 за нестабильный.
Что делать на стороне сервера
Чтобы сделать API видимым и монетизируемым в x402 Bazaar, нужно сделать три вещи:
-
Включить discovery
Добавьте блок
extensions.bazaarсdiscoverable: true. Без него facilitator не извлечёт метаданные — даже если платежи проходят успешно. -
Точно описать возможность
Это новый SEO-слой: description, inputSchema, outputSchema. Агенты не угадывают — они сопоставляют возможности. Чем яснее ваша схема, тем выше шанс, что вас выберут.
-
Запустить реальное использование
Индексация происходит только после успешного settlement. Нужно выполнить хотя бы один платный запрос для каждого платного endpoint'а — discovery привязан к фактическому использованию, а не к конфигурации.
Практический чеклист
- Подключиться к facilitator'у, например CDP Facilitator
- Включить
extensions.bazaar.discoverable: true - Написать точное описание, сфокусированное на возможности
- Определить inputSchema и outputSchema с понятной семантикой на уровне полей
- Указать корректные платёжные метаданные: price, network, recipient
- Выполнить хотя бы один полный платёжный flow: verify → settle, для каждого endpoint'а
- Проверить видимость через endpoint'ы
/v2/x402/discovery/*
Минимальный пример
import { paymentMiddleware } from "@x402/express";
import { x402ResourceServer, HTTPFacilitatorClient } from "@x402/core/server";
import { registerExactEvmScheme } from "@x402/evm/exact/server";
const facilitatorClient = new HTTPFacilitatorClient({
url: "https://x402.org/facilitator"
});
const server = new x402ResourceServer(facilitatorClient);
registerExactEvmScheme(server);
const routes = {
"GET /weather": {
price: "$0.001",
network: "eip155:8453",
resource: "0xYourAddress",
description: "Get current weather data for any location",
extensions: {
bazaar: {
discoverable: true,
inputSchema: {
queryParams: {
location: {
type: "string",
description: "City name or coordinates",
required: true
}
}
},
outputSchema: {
type: "object",
properties: {
temperature: { type: "number" },
conditions: { type: "string" },
humidity: { type: "number" }
}
}
}
}
}
};
app.use(paymentMiddleware(routes, server));
description — это то, что агент видит во время семантического поиска.
inputSchema.queryParams[].description определяет, появится ли ваш сервис по freeform-запросу. Эти строки выполняют больше работы, чем кажется: они определяют, найдёт ли агент вас, когда сформулирует задачу свободным текстом.
network (eip155:8453 — это Base) и price видимы как платёжные метаданные.
Детали, которые легко пропустить
Verify → Settle. Индексация привязана к settle. Если ваш flow доходит до verify, но не доходит до settle, endpoint не появится.
Schemes. Не забудьте зарегистрировать платёжную схему на сервере. В примере это registerExactEvmScheme. Без этого middleware вообще не сможет обработать входящий payment payload.
Protocol version. В x402 v2 discovery-метаданные находятся в PaymentPayload.Extensions — клиент копирует их из PaymentRequired. В v1 они находились в PaymentRequirements.OutputSchema. Если вы строите под v2 — используйте extensions.bazaar.
Facilitator scope. Видимость в Bazaar не становится автоматически глобальной для всех facilitator'ов. Endpoint появляется там, где произошёл успешный settlement и где поддерживается расширение Bazaar.
Реалистичные ожидания
Bazaar ≠ трафик. Bazaar = право участвовать в новом канале спроса.
Discovery даёт видимость, но не гарантированный доход. После этого вступают в силу обычные рыночные факторы: цена, success rate, latency, релевантность описания. Если схема расплывчатая, агент может пройти мимо. Если success rate низкий, ваши quality-сигналы ухудшаются.
Агенту также нужны средства и spending policy — но это уже не ваша проблема как продавца.
Ещё один момент: Bazaar активно развивается. Сами Coinbase называют его стадией «Yahoo search» на пути к «Google for agentic endpoints». Алгоритмы ранжирования и форматы метаданных будут меняться. Конфигурация route'ов — это не разовая задача, а часть постоянной поддержки.
Итого
Вы боретесь не за внимание человека. Вы боретесь за ясность для машин.
Это другой тип работы:
- Меньше: копирайтинг, дизайн, вирусный маркетинг.
- Больше: точные описания возможностей, чистые схемы, честная цена, стабильный uptime.
Discovery-слой не делает дистрибуцию бесплатной.
Он превращает дистрибуцию в техническую задачу, а не маркетинговую игру. И это одна из самых интересных вещей в агентной экономике.