ADAMANT Payment v1.0 — Платформа с приоритетом криптовалют для платежей, подписок и управления лицензиями
ADAMANT Payment (adamant-payment) — это новый инфраструктурный компонент экосистемы ADAMANT и любых продуктов, которым требуется родная криптомонетизация без объединения нескольких сторонних сервисов. Он заменяет устаревший подход adamant-client-auth на современную, нейтральную к продуктам платформу: аутентификация, биллинг, криптоплатежи, подписки, управление лицензиями, пользовательский портал и админ-панель — всё в одном решении с возможностью самостоятельного размещения.
Первым сценарием интеграции является подписка на WebUI ADAMANT Tradebot (сценарий Б): пользователи покупают подписку или пробный период в adamant-payment, получают токен лицензии с ограниченной областью действия, после чего бот устанавливает исходящее соединение с публичным реле WebUI. Платформа не привязана исключительно к Tradebot — она создана как самостоятельный продукт для ботов, SaaS, десктоп-приложений и Web3-сервисов.
Архитектура и ключевые преимущества
Платформа изначально разработана для криптовалютных платежей, а не как второстепенное дополнение. Она идеально подходит для Web3-проектов, торговых ботов, SaaS-продуктов и программного обеспечения, продаваемого глобальной аудитории. Первоначальная поддержка платежей включает биткоин (через BTCPay Server) и ADM (нативная, с использованием уникальных адресов депозитов и наблюдателей в блокчейне), а также dev-провайдер для тестирования. Вебхуки идемпотентны, а уникальные значения externalId/txid гарантируют корректность платежей — лицензии выдаются или продлеваются после подтверждения оплаты.
Аутентификация, биллинг, криптоплатежи, подписки, управление лицензиями, пользовательский портал и панель администратора объединены в одном решении, что устраняет необходимость объединять несколько сторонних сервисов. Платформа может автоматически выдавать лицензии после оплаты, управлять датами окончания, подписками, тарифами и доступом к продуктам. Внешние приложения проверяют лицензии через REST API по пути /v1/..., что позволяет продуктам программно проверять статус лицензии, действительность подписки и доступ пользователей.
Пользователи могут входить через традиционную учётную запись по электронной почте или с помощью криптографической аутентификации, используя подпись кошелька ADM или ETH (SIWE). Это особенно полезно для пользователей Web3, поскольку платформа может работать без обязательной привязки к электронной почте. Сессии на основе JWT с файлами cookie для обновления поддерживают приложения в браузере.
Решение поставляется с пользовательским интерфейсом и админ-панелью. Клиенты управляют платежами, лицензиями и подписками; владельцы продуктов — пользователями, заказами, тарифами и правами доступа. Админ-панель поддерживает 2FA для ADM и ETH, капчу Turnstile, блокировку по IP и отпечатку устройства, а также ведение журнала аудита. В рабочей среде админ-панель работает на отдельном источнике (origin).
adamant-payment не привязан к ADAMANT Messenger или какому-либо конкретному приложению. Поддержка white-label-брендинга доступна через переменные окружения BRAND_*, а в модели данных используются общие идентификаторы продуктов. В отличие от Stripe, Paddle, Lemon Squeezy или традиционных SaaS-решений для лицензирования, его можно адаптировать под собственные правила, потоки криптоплатежей, модели ценообразования и продукты. Он разворачивается на собственной инфраструктуре (PostgreSQL, Node.js) с полным контролем над пользователями, логикой платежей, лицензиями и бизнес-данными. Для Postgres предоставляется Docker Compose без обязательных облачных SaaS-зависимостей.
Объем v1.0
Выпуск v1.0 охватывает основной цикл монетизации: регистрация пользователей, оплата, предоставление доступа, продление подписки, администрирование и интеграция с продуктом. Аутентификация поддерживает код из сообщения ADM, Ethereum (SIWE) и электронную почту с паролем. Биллинг включает каталог, 14-дневную пробную версию (один раз на биржу и пару в масштабе всего сервиса), платные, промо- и ручные лицензии, с горячей перезагрузкой config/ для тарифов и промокодов. Админ-панель предоставляет статистику, управление аккаунтами, лицензиями, счетами и просмотр кошельков ADM/BTC, с аутентификацией по API-ключу и опциональной 2FA. Международная поддержка включает английский и русский языки на старте, с расширяемой системой i18n в packages/shared.
Стек технологий использует pnpm с Turborepo, Fastify 5, Prisma, PostgreSQL и React 18 (Vite). CI выполняется на GitHub Actions и включает установку, генерацию Prisma, сборку, линтинг и проверку типов.
Требования к продукту и интеграции
Нейтральность к продуктам — ключевое требование: в перечислениях БД нет жёстко заданных названий Tradebot или ADAMANT; всё настраивается для каждого развёртывания. Область действия лицензии — одна лицензия на биржу и пару, пробный период — один раз на область действия в масштабе всего сервиса. Аутентификация с поддержкой нескольких идентификаторов обеспечивает сосуществование ADM, ETH и электронной почты. Требования к безопасности оператора предписывают размещение админ-панели на отдельном источнике в рабочей среде, с аутентификацией по API-ключу, опциональной 2FA, капчей, блокировкой и журналом аудита.
Для интеграции с экосистемой реле WebUI Tradebot (сценарий Б) проверяет лицензии через API adamant-payment, при этом бот использует модель исходящего соединения. API Tradebot на ветке refactor/new-webui-api использует проверку лицензий, а WebUI Tradebot на ветке refactor/new-stack предоставляет публичный WebUI и реле. Новые реализации PaymentProvider (например, дополнительные цепочки) можно добавлять без переписывания ядра биллинга.
Критерии выпуска
Выпуск v1.0.0 будет опубликован и помечен как GitHub Release. CI должен быть зелёным на ветке dev и в PR выпуска в main. Документация охватывает аутентификацию, биллинг, платежи, безопасность администратора, брендирование, базу данных и настройку BTCPay. Тесты smoke-уровня охватывают сценарии аутентификации, получение пробной версии, процесс оплаты до получения лицензии, панели администратора и конечную точку проверки лицензии.
План работ после v1
В планах — автоматизация продления подписок (BTCPay создаёт только счета; логика продления находится в adamant-payment), добавление новых провайдеров платежей и блокчейнов, документация OpenAPI для публичного API и интеграции сторонних продуктов помимо Tradebot.
Отслеживание выпуска: Adamant-im/adamant-payment#1