Интеграция с BitGo
Кастодиальное хранение криптоактивов — одна из самых критичных задач для любого криптосервиса. Ошибка на этапе работы с ключами может стоить миллионов: вспомните историю с потерей доступа к кошельку или кражу через уязвимость в мультиподписи. BitGo решает эту проблему с помощью проверенной схемы 2-из-3, где ни одна сторона не владеет всеми ключами. Мы внедряем BitGo под ключ — от настройки инфраструктуры до интеграции с вашим бэкендом. За 5+ лет мы реализовали интеграции для десятков проектов, включая DeFi-протоколы, NFT-маркетплейсы и криптовалютные биржи.
Как BitGo обеспечивает безопасность мультиподписи?
BitGo использует 2-of-3 multisig — три ключа распределены: User key (у клиента), BitGo key (на серверах BitGo в HSM) и Backup key (офлайн, для восстановления). Транзакция требует подписей двух из трёх. Обычный флоу: user key инициирует → BitGo key подписывает после проверки Policy Engine. Схема исключает единую точку отказа и соответствует стандартам квалифицированного кастодиана. Для холодного хранения используется отдельный процесс, где backup key никогда не покидает HSM.
Почему выбирают BitGo для кастодиального хранения?
BitGo — старейший кастодиан в криптоиндустрии (основан в 2013). Он получил статус qualified custodian в штате Нью-Йорк, что важно для регуляторного соответствия. В отличие от MPC-решений, multisig не требует сложной математики и может быть верифицирован на уровне блокчейна. Например, для Bitcoin мультиподпись легко проверяется через обычный explorer. Решение BitGo быстрее в настройке: интеграция API занимает от 2 до 4 недель, тогда как у MPC-решений onboarding может затянуться до 8 недель из-за инфраструктурных требований. Источник: документация BitGo
Архитектура BitGo-кошельков
Каждый кошелек привязан к конкретному активу — coin. BitGo предоставляет единый REST API для всех поддерживаемых сетей (Bitcoin, Ethereum, Polygon, Arbitrum, Solana и другие). Кошельки могут быть горячими (online) или холодными (offline). Для холодного хранения ключи генерируются на аппаратном модуле безопасности (HSM) и никогда не покидают устройство. API позволяет создавать неограниченное количество кошельков и адресов, что удобно для создания мультивалютных платформ.
BitGo API интеграция: пример на TypeScript
import * as BitGoJS from "bitgo"; const bitgo = new BitGoJS.BitGo({ env: "prod", // или "test" для BitGo Express accessToken: process.env.BITGO_ACCESS_TOKEN, }); // Получение кошелька const wallet = await bitgo .coin("eth") .wallets() .get({ id: "WALLET_ID" }); // Получение адреса для депозита const address = await wallet.createAddress(); console.log(`Deposit to: ${address.address}`); // Отправка транзакции const txRequest = await wallet.send({ address: "0xRecipient", amount: "100000000000000000", // 0.1 ETH в wei walletPassphrase: process.env.WALLET_PASSPHRASE, comment: "Payment #123", }); Как настроить Policy Engine?
Policy Engine — это набор правил, которые проверяются перед подписью. Типичные настройки: whitelist адресов, дневные лимиты, многофакторная аутентификация для крупных переводов. Пример конфигурации:
// Whitelist адресов await wallet.createPolicy({ id: "whitelist-policy", type: "allowanddeny", condition: { type: "destination", add: ["0xApprovedAddress1"] }, action: { type: "allow" }, }); // Дневной лимит await wallet.createPolicy({ id: "daily-limit", type: "velocityLimit", condition: { type: "velocity", amount: 10000, timeWindow: 86400 }, action: { type: "getApproval" }, }); Правила выполняются в порядке приоритета: deny → allow → velocity → approval. Это позволяет гибко настроить безопасность под ваш бизнес.
Webhook и мониторинг транзакций
BitGo отправляет webhook-уведомления о входящих и исходящих переводах. Пример интеграции:
// Создание webhook await bitgo.coin("eth").webhooks().add({ type: "transfer", url: "https://yourapp.com/webhooks/bitgo", label: "Deposit notifications", }); // Express handler app.post("/webhooks/bitgo", async (req, res) => { const { type, wallet, transfer } = req.body; if (type === "transfer" && transfer.type === "receive") { await creditUserBalance(wallet, transfer.valueString, transfer.txid); } res.status(200).send("OK"); }); Webhooks работают в реальном времени, позволяя моментально реагировать на депозиты. Также можно настроить polling через REST API для отказоустойчивости.
Сравнение BitGo и Fireblocks
| Параметр | BitGo | Fireblocks |
|---|---|---|
| Тип хранения | Multisig 2-из-3 | MPC (Multi-Party Computation) |
| Поддержка сетей | 30+ (Bitcoin, ETH, Polygon, Solana, BNB) | 50+ |
| Регуляторный статус | Qualified Custodian (NY) | Qualified Custodian (NY) |
| Onboarding | 2–8 недель (комплаенс) | 1–2 недели |
| Интеграция API | 2–4 недели | 1–3 недели |
| Сложность аудита | Прозрачный multisig | Сложная математическая верификация |
BitGo выигрывает в прозрачности и регуляторной истории, Fireblocks — в скорости подключения и мультичейн поддержке. По нашим данным, интеграция BitGo занимает в 2 раза меньше времени, чем разработка собственного кастодиального решения.
Что входит в интеграцию под ключ?
- Анализ требований и проектирование архитектуры
- Настройка BitGo Express (локальный прокси) при необходимости
- Разработка интеграции: создание кошельков, управление адресами, отправка транзакций
- Конфигурация Policy Engine: whitelist, лимиты, правила подтверждения
- Интеграция webhook для мониторинга в реальном времени
- Тестирование на тестовой сети и в продакшене
- Документация по API и обучение команды
- Гарантийная поддержка 1 месяц после запуска
Процесс работы
| Этап | Длительность | Результат |
|---|---|---|
| Анализ требований | 3–5 дней | Техническое задание с архитектурой |
| Проектирование интеграции | 5–7 дней | Архитектурная документация |
| Разработка | 10–15 дней | Рабочий прототип на testnet |
| Тестирование | 5–7 дней | Отчёт о тестировании, аудит безопасности |
| Деплой и запуск | 2–3 дня | Продуктивная среда |
Сроки и стоимость
Сроки интеграции BitGo API — от 4 до 8 недель в зависимости от объёма. Параллельно идёт комплаенс-онбординг (от 2 до 8 недель). Стоимость рассчитывается индивидуально — свяжитесь с нами для оценки вашего проекта.
Частые ошибки при интеграции BitGo и как их избежать
- Игнорирование rate limit — BitGo API ограничивает 10 запросов в секунду на кошелёк. Используйте очередь.
- Отсутствие мониторинга backup key — если ключ утерян, восстановление через BitGo займёт недели.
- Слишком агрессивные политики — блокировка всех транзакций выше лимита без возможности поднять лимит одобрением.
Правильная настройка Policy Engine и резервирование ключей — основа безопасной интеграции.
Получите консультацию по вашему проекту — мы поможем выбрать архитектуру и рассчитать бюджет. Свяжитесь с нами для обсуждения деталей.







