Інтеграція з BitGo

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція з BitGo
Середній
~3-5 днів
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    859

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 тиж залежно від юрисдикції.