Интеграция с BitGo

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Интеграция с BitGo
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1221
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1163
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    855
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1056
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    828

Интеграция с BitGo

BitGo — один из старейших институциональных крипто-кастодианов (основан в 2013). Специализируется на multi-signature кошельках и является лицензированным кастодианом в США (qualified custodian под New York Banking Law). BitGo API позволяет строить продукты поверх их инфраструктуры хранения.

Архитектура BitGo кошельков

BitGo использует 2-of-3 multisig для Bitcoin и аналогичную схему для других активов. Три ключа:

  • User key — хранится у клиента (или зашифрован паролем в BitGo)
  • BitGo key — хранится на серверах BitGo в HSM
  • Backup key — хранится у клиента офлайн (для восстановления)

Транзакция требует 2 из 3 ключей. Обычный флоу: user key подписывает → BitGo key подписывает (после прохождения policy checks).

BitGo API интеграция

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

BitGo Policy Engine позволяет настроить правила для транзакций:

// Whitelist адресов получателей
await wallet.createPolicy({
  id: "whitelist-policy",
  type: "allowanddeny",
  condition: {
    type: "destination",
    add: ["0xApprovedAddress1", "0xApprovedAddress2"],
  },
  action: { type: "allow" },
});

// Дневной лимит
await wallet.createPolicy({
  id: "daily-limit",
  type: "velocityLimit",
  condition: {
    type: "velocity",
    amount: 10000, // в USD
    timeWindow: 86400, // 24 часа в секундах
    groupBy: ["coin", "wallet"],
  },
  action: { type: "getApproval" },
});

Webhook уведомления

// Создание webhook для мониторинга депозитов
await bitgo.coin("eth").webhooks().add({
  type: "transfer",
  url: "https://yourapp.com/webhooks/bitgo",
  label: "Deposit notifications",
  listenToFailureStates: false,
});

// Обработчик webhook
app.post("/webhooks/bitgo", async (req, res) => {
  const { type, wallet: walletId, transfer } = req.body;
  
  if (type === "transfer" && transfer.type === "receive") {
    await creditUserBalance(walletId, transfer.valueString, transfer.txid);
  }
  
  res.status(200).send("OK");
});

Когда выбирать BitGo

BitGo оптимален для: биржи и брокеры, которым нужен qualified custodian для регуляторных требований; компании в США с требованием SOC 2 Type II; проекты с большими объёмами Bitcoin (BitGo исторически сильнее в BTC multi-sig).

Fireblocks лучше для: мультичейн DeFi операций, быстрого деплоя без длительного onboarding, MPC вместо multisig.

Интеграция BitGo API — 2-4 недели. Onboarding в качестве клиента (KYB, compliance проверки) — отдельный процесс, занимает 2-8 недель в зависимости от юрисдикции.