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







