← Блог
10 мин чтения
|
20 окт. 2026 г.

Как создать криптокошелёк с помощью API: руководство 2026 года

Узнайте, как создавать криптокошельки через API: выбор типа хранения, безопасность ключей, проектирование адресов, вебхуки и пошаговый план разработки для разработчиков.

Главы
C
Chaingateway Team
Эксперты по блокчейну

Isometric wallet and transaction paths

Чтобы создать криптокошелёк через API, вы отправляете один аутентифицированный запрос сервису, который генерирует пару ключей, хранит приватный ключ и возвращает публичный адрес, который можно показать пользователю. Сложная часть — не этот вызов. Это решение о том, кто держит ключи, как вы защищаете учётные данные вокруг них и как узнаёте, когда деньги приходят. Это руководство охватывает все три аспекта с компромиссами, которые производственная команда должна решить до запуска.

TL;DR

  • API кошелька генерирует ключи и возвращает адрес. Ваши реальные проектные решения — это кастодиальность, хранение ключей и обнаружение платежей.
  • Дайте каждому пользователю или каждой инвойсу свой адрес и записывайте хеш каждой входящей транзакции как уникальный ключ в вашей базе данных.
  • Используйте подписанные вебхуки вместо поллинга, проверяйте каждую подпись и делайте свой обработчик идемпотентным.
  • Генерация ключей должна использовать криптографически стойкий источник случайности, а продакшн-ключи должны находиться в неэкспортируемом хранилище, таком как HSM.
  • Единый мультичейн API избавляет вас от необходимости запускать ноды и поддерживать отдельную интеграцию для каждой сети.

Table of Contents

What a wallet API actually does

Блокчейн-кошелёк — это программное обеспечение, которое управляет ключами. Обзор технологии блокчейн от NIST описывает его как инструмент, который может хранить приватные ключи, публичные ключи и адреса, и который помогает пользователям работать с активами, которыми эти ключи управляют. API кошелька переносит эту работу с устройства пользователя на ваш бэкенд.

На практике API кошелька покрывает четыре задачи:

  1. Create: генерирует новую пару ключей и возвращает адрес для заданной сети.
  2. Read: сообщает балансы и историю транзакций для этого адреса.
  3. Send: формирует, подписывает и транслирует перевод, включая оценку комиссии.
  4. Notify: сообщает вашему приложению, когда что-то происходит с адресом.

Руководство разработчика Bitcoin по обработке платежей делает акцент, применимый к любой цепочке: прежде чем запрашивать платеж, ваше приложение должно создать адрес или получить его где-то ещё, и каждый шаг процесса можно аутсорсить сторонним API. Аутсорсинг — это легальный инженерный выбор. Он обменивает контроль над инфраструктурой на скорость и меньшее количество движущихся частей.

Decide on custody before you write code

Любая интеграция кошелька начинается с одного вопроса: кто может подписать транзакцию?

ModelWho holds the private keyTypical useMain burden
Your users hold keysThe user, in their own app or deviceSelf-custody products, login with a walletYou cannot move funds or recover accounts
API-managed (hosted) walletsThe API provider stores the keys on your behalf, and you authorize actionsPayment acceptance, deposit addresses, payouts, in-app balancesYou must secure API credentials and know your regulatory position
Your own key infrastructureYou, in your own HSM or signing serviceLarge treasuries, strict internal policyYou run and audit everything yourself

Most startups and agencies building payment features want the middle row. Users deposit to addresses your app controls, your backend sends payouts, and nobody has to run a node or write signing code for six networks.

Custody can carry legal consequences that depend on your country and business model. If you will hold funds for customers, talk to a lawyer who knows money transmission and virtual asset rules in your jurisdiction before you launch. This article covers the engineering side only.

A note on account abstraction

If you build on Ethereum you will meet smart contract wallets. Ethereum’s account abstraction roadmap describes letting accounts carry programmable security and better user experiences, instead of relying on a single raw private key. That can enable features such as sponsored gas and flexible recovery. It is a strong fit for consumer apps where users own their wallets. For a backend that creates thousands of deposit addresses and sweeps funds, the classic externally owned account is still the simpler model, and it is the one that works the same way across Bitcoin, Tron and EVM chains. Ethereum’s own documentation explains the two account types, externally owned accounts and contract accounts, if you need a refresher.

Step by step: creating your first wallet through an API

The exact endpoints differ by provider, so read the reference of the API you choose. The sequence below stays the same.

1. Get credentials and keep them server-side

Sign up, get an API key and, if the provider uses request signing, a secret. These credentials can move money, so treat them like database passwords. Load them from a secrets manager, never from client-side code, never from a public repository. OWASP’s guidance for SDK testing recommends checking that credentials are scoped and revocable, which is a good rule for any integration: if a key leaks, you should be able to kill it without rebuilding your app.

2. Create the wallet or address

Call the create endpoint for the network you need. You get back an address, and usually an identifier your system can use to refer to the wallet later. Store three things in your own database right away:

  • the address,
  • the network it belongs to,
  • the internal user, order or invoice it is tied to.

Do not store the private key yourself unless you have built the secure storage to hold it. With a hosted model, that is the provider’s job.

3. Show the address and guard against mistakes

Отображайте адрес с названием сети простыми словами. Самый частый запрос в техподдержку при криптоплатежах — пользователь, отправивший токен в неправильной сети. Адрес USDT в Ethereum и адрес в Tron выглядят совсем по-разному, но пользователи всё равно ошибаются. Добавьте метку сети рядом с QR-кодом и предусмотрите короткий шаг подтверждения перед показом адреса.

4. Подпишитесь на события для этого адреса

Зарегистрируйте вебхук, чтобы ваш бэкенд узнавал о депозитах без опроса. В следующем разделе объясняется, как безопасно построить принимающую сторону.

5. Сначала протестируйте в тестовой сети

Прогоните полный цикл в тестнете: создайте адрес, отправьте тестовые средства, получите событие, зачислите на счёт, затем выполните выплату. Только после этого переключите учётные данные и сеть на мейннет и начните с небольших сумм.

Последовательность тестирования кошелька в тестнете до первой выплаты

Один адрес на пользователя или один на счёт?

Повторное использование — это уловка, которая потом выливается в проблемы с учётом. Руководство разработчика Bitcoin описывает стандартный подход: выдавать каждому платёжному запросу свой адрес, чтобы входящий платёж однозначно соответствовал заказу, его вызвавшему.

Распространённые паттерны:

  • Один адрес на счёт. Чистейшая сверка. Лучше всего для чекаут-потоков с ожидаемой суммой и сроком действия.
  • Один адрес на пользователя. Удобно для функций пополнения, например, пополнения баланса. Любой входящий перевод зачисляется на один и тот же счёт.
  • Пуловый адрес с мемо или тегом. Только для сетей и активов, которые это поддерживают, и сложнее сделать правильно.

Если вы генерируете адреса из иерархически детерминированной схемы, структура стандартизирована. BIP 44 определяет схему путей назначения, типа монеты, аккаунта, смены и индекса, что позволяет одному сиду создавать предсказуемое дерево адресов. Хостинговый API обычно берёт это на себя, но знание структуры помогает при аудите или миграции.

Безопасность ключей: где на самом деле проваливаются кошельковые проекты

Сетевой протокол редко становится причиной взлома кошелькового продукта. Группа OWASP по безопасности смарт-контрактов указывает, что главный риск — это случайность и хранение приватных ключей. Предсказуемый сид приводит к скрытой полной компрометации, потому что злоумышленник может восстановить ключи офлайн. Их рекомендация по тестированию — убедиться, что вся генерация ключей использует криптографически безопасный генератор случайных чисел платформы.

Отсюда следуют три практичных правила.

Никогда не пишите генерацию ключей сами. Используйте проверенную библиотеку или провайдера, чья работа — делать это. Сид от Math.random() — это катастрофа, ждущая своего часа.

Храните ключи подписи в неэкспортируемом хранилище. Руководство NIST по кошелькам указывает на аппаратные защищенные модули, которые не позволяют хост-процессору извлекать секретные ключи. Для всего, что вы запускаете сами, это означает HSM или аналогичный защищенный элемент, а не переменные окружения или колонку в базе данных. Если вы хотите понять, как работает аппаратная защита ключей на практике, это руководство по защите корневого ключа с помощью HSM (на португальском) объясняет принципы на примере ключей удостоверяющего центра. Та же логика применима к ключам подписи кошелька.

Защитите человеческий аспект доступа. Аппаратные ключи безопасности для учетных записей администраторов, которые могут создавать API-ключи, менять URL вебхуков или подтверждать выплаты, устраняют большой класс рисков фишинга. Разделяйте роли так, чтобы человек, который разворачивает код, не мог также выпускать средства.

Для повседневной гигиены API наш собственный чек-лист советов по безопасности при использовании блокчейн-API станет хорошим помощником.

Безопасность ключей: где проекты кошельков действительно терпят неудачу — обзорная диаграмма

Обнаружение платежей с помощью вебхуков

Создание адреса — это половина работы. Вам также нужно знать, когда кто-то платит на него. Опрос каждого адреса по расписанию тратит запросы и задерживает подтверждение. Вебхуки передают событие вам в тот момент, когда провайдер его видит. Мы разбираем полный поток в статье как автоматически обрабатывать депозиты с помощью вебхуков.

Конечная точка приема — это место, где происходят ошибки безопасности, поэтому создавайте ее тщательно. Шпаргалка OWASP по безопасности вебхуков — это справочник, которому стоит следовать, и вот ее основные пункты:

  • Проверяйте подпись при каждой доставке. Пересчитайте HMAC над необработанным телом с вашим общим секретом и сравните его с заголовком подписи. Используйте сравнение за постоянное время, чтобы избежать атак по времени.
  • Требуйте HTTPS. Подпись доказывает, кто отправил сообщение, но не шифрует его, поэтому любой в сетевом пути может прочитать доставку по открытому HTTP.
  • Держите секреты вне URL. URL-адреса попадают в логи балансировщиков нагрузки и прокси, которые вы можете не контролировать. Помещайте аутентификацию в заголовки.
  • Обрабатывайте события как идемпотентные. Доставки могут повторяться после сетевых повторных попыток. Один платеж никогда не должен быть зачислен дважды.

Последний пункт заслуживает конкретного шаблона. Храните хеш транзакции как уникальный индексированный ключ. Совет по сверке из руководства по Bitcoin, который подходит для любой цепочки, заключается в том, чтобы проверить вашу базу данных на наличие существующего хеша перед запуском любой логики зачисления, вместо того чтобы полагаться на то, что каждый колбэк приходит ровно один раз. В SQL это уникальное ограничение на хеш и вставка, игнорирующая дубликаты.

Надежный обработчик следует этому порядку:

  1. Прочитайте необработанное тело запроса до любого парсинга.
  2. Проверьте HMAC-подпись. Отклоните при несовпадении.
  3. Вставьте хеш транзакции. Если он уже существует, верните успех и остановитесь.
  4. Дождитесь количества подтверждений, требуемого вашей политикой рисков, прежде чем зачислить средства.
  5. Зачислите средства на счет в той же транзакции базы данных, что и вставка.
  6. Быстро ответьте кодом успеха, а медленную работу отправьте в очередь.

На нашей странице о блокчейн-вебхуках и уведомлениях о событиях показано, как это работает в поддерживаемых сетях.

Многонетевые реалии, с которыми вы столкнетесь

Кошелек, работающий в одной сети, — это просто. Кошелек, работающий в нескольких, — это место, где растут затраты на интеграцию, потому что у каждой сети свой формат адресов, модель комиссий и стандарты токенов.

  • Комиссии. В EVM-сетях перевод токена требует нативной монеты для газа. Только что созданный адрес, получивший USDT, не сможет его отправить, пока он также не будет содержать некоторое количество ETH, BNB или эквивалента MATIC для комиссий. Запланируйте шаг финансирования для выплат и сбора средств (sweeps).
  • Активация аккаунта Tron. Адреса Tron ведут себя иначе: неактивированный аккаунт может не отображаться в сети до тех пор, пока он не получит небольшое количество TRX, а переводы TRC-20 потребляют ресурсы, поэтому протестируйте этот путь как можно раньше.
  • Стандарты токенов. ERC-20, BEP-20 и TRC-20 выглядят одинаково для пользователей, но отличаются вызовами контрактов и форматами событий. NFT добавляют поверх ERC-721.
  • Декодированные данные. Необработанные логи транзакций — это hex. Если ваш провайдер возвращает декодированные значения, вы пропускаете написание парсинга ABI для каждого токена.

Мы рассматриваем разницу между провайдерами нод, индексаторами и унифицированными API в статье Blockchain APIs Compared: 6 Types and When to Use Each, а более широкие бизнес-кейсы — в use cases of a blockchain API.

Сборка или покупка: честное сравнение

Вы можете запустить свои собственные ноды и сервис подписания. Некоторым командам так и надо. Вот как обычно выглядит это решение.

ФакторЗапуск собственного стекаИспользование унифицированного Wallet API
Время до первого кошелькаНедели, на каждую сетьЧасы
ИнфраструктураНоды, индексаторы, мониторинг для каждой сетиНичего с вашей стороны
Управление ключамиВаша задача — проектировать и аудироватьОбрабатывается провайдером, с защитой ваших учетных данных
Форма затратИнженерное время и серверыПредсказуемая подписка
КонтрольПолныйВ пределах того, что предоставляет API

Если кошельки — это ключевое отличие вашего продукта, или регулирование заставляет вас хранить ключи в собственной среде, собирайте. Если кошельки — это функция, поддерживающая платежи, депозиты или выплаты, сэкономленное на интеграции время лучше потратить в другом месте.

Наш взгляд

Мы видим один и тот же паттерн у большинства команд, приходящих к нам. Они недооценивают «сантехнику» и переоценивают криптографию. Генерация ключа — это решенная проблема. Проекты тонут в месяце, потраченном на синхронизацию нод, особенности комиссий одной сети, обработчике вебхука, который зачисляет депозит дважды, или в декодированной сумме, которая отличается в десять раз из-за десятичных знаков токена.

Именно поэтому мы создали Chaingateway как один REST API для нескольких сетей, а не отдельную интеграцию для каждой цепочки. Вы создаёте кошельки, отправляете переводы токенов, автоматически оцениваете газ и получаете предварительно декодированные данные транзакций в едином формате, независимо от используемой сети. Запросы подписываются с помощью HMAC, а вебхук-уведомления сообщают вашему бэкенду о платежах в реальном времени, поэтому вам не нужно запускать собственные ноды или использовать поллинг.

Наш совет прост. Сначала определитесь с кастодией. Дайте каждому плательщику свой адрес. Сделайте обработчик вебхуков идемпотентным с первого дня, а не после первого дублирующегося зачисления. И протестируйте весь цикл в тестовой сети до того, как переведёте хоть одну настоящую монету.

— Bitblade

Попробуйте в своём стеке

Если вы хотите создавать кошельки, отправлять токены и получать уведомления о платежах в Ethereum, Bitcoin, Tron, Solana, Polygon, BNB Chain и Arbitrum из одной интеграции, ознакомьтесь с нашим Blockchain API. Тарифы на странице цен: Plus стоит €49 в месяц, Pro €99, Premium €249 и Enterprise €499, или выберите ежегодную оплату за €490, €990, €2 490 и €4 990 соответственно. Сервис начинается с бесплатного пробного периода.

Чек-лист запуска

Прежде чем выйти в продакшн, подтвердите каждый пункт:

  • Учётные данные API хранятся в менеджере секретов и могут быть ротированы.
  • Каждый адрес сохранён вместе с его сетью, владельцем и временем создания.
  • Ваш вебхук-эндпоинт использует HTTPS, проверяет подписи и сравнивает их за постоянное время.
  • Уникальное ограничение на хэш транзакции предотвращает двойные зачисления.
  • Вы ждёте порог подтверждений, соответствующий риску суммы.
  • Кошельки для выплат пополнены нативной монетой, необходимой для комиссий.
  • Учётные записи администраторов используют надежную многофакторную аутентификацию, идеально — аппаратные ключи.
  • Вы зафиксировали, кто может одобрять выплаты и как отзывается скомпрометированный ключ.
  • Вы получили юридическую консультацию по вопросам кастодии там, где вы храните средства других.

Источники

Рекомендуем

Часто задаваемые вопросы

Да. Хостинговый API кошельков запускает ноды и инфраструктуру подписи за вас и возвращает адреса через REST-вызовы. Вам всё равно нужно защищать свои учётные данные API и вебхук-эндпоинт, потому что теперь это двери к вашим средствам.

Обычно да, в том смысле, что сервис хранит ключи, а ваши учётные данные авторизуют действия. Являетесь ли вы кастодианом в юридическом смысле — зависит от того, храните ли вы средства клиентов и от вашей юрисдикции. Проконсультируйтесь с юристом, специализирующимся на регулировании виртуальных активов, перед публичным запуском.

Подпишитесь на вебхук-уведомления для адреса. Проверьте HMAC-подпись, запишите хэш транзакции в уникально индексируемый столбец и зачислите средства на счёт только после выполнения вашего требования к подтверждениям. Поскольку доставки могут повторяться, проверка хэша — это то, что не даст вам заплатить дважды.

На платеж даёт чистейшую сверку, так как каждый адрес соответствует одному заказу. На пользователя проще для пополнения баланса. Избегайте использования одного адреса для многих плательщиков, если только сеть не поддерживает мемо или тег и вы обрабатываете их правильно.

В неэкспортируемом хранилище, таком как HSM или защищённый элемент, или у провайдера, который управляет этим хранилищем за вас. Переменные окружения, конфигурационные файлы и обычные строки базы данных не подходят для ключей, контролирующих реальные средства.

Готовы собрать это сами? Получите свой API-ключ — 7-дневный пробный период, без карты — или посмотрите API блокчейна для полного справочника по эндпоинтам.

C
Chaingateway Team
Эксперты по блокчейну

Команда Chaingateway стремится упростить интеграцию блокчейна для разработчиков по всему миру.