Інтеграція з 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 — найстаріший кастодіан у криптоіндустрії (заснований понад десять років тому). Він отримав статус 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 та резервування ключів — основа безпечної інтеграції.
Отримайте консультацію щодо вашого проєкту — ми допоможемо обрати архітектуру та розрахувати бюджет. Зв'яжіться з нами для обговорення деталей.
Ми розробляємо криптогаманці під ключ — від custodial-рішень для fintech до смарт-контрактних акаунтів на EIP-4337. 5+ років на ринку блокчейн-розробки, 40+ реалізованих проектів. Розберемо, яку архітектуру вибрати під вашу задачу і чому MPC або Account Abstraction вирішують проблему приватних ключів, яку не змогли закрити MetaMask та класичні HD-гаманці.
Як обрати архітектуру гаманця?
Чому класичні гаманці небезпечні для бізнесу?
Seed-фраза у браузерному розширенні — єдиний спосіб відновити доступ. Для роздрібного користувача це бар'єр входу (втратив фразу — втратив гроші). Для корпоративного казначейства — несумісно з compliance (KYC/AML, рольова модель, мультипідпис). Будь-який витік одного ключа компрометує всі кошти. Ці ризики закладені в архітектуру, а не в поганий UX.
Ми усуваємо їх на рівні протоколу: MPC-гаманці (ключ ніколи не зібраний цілком), смарт-контрактні гаманці (логіка авторизації в коді), апаратні HSM для інституційного зберігання. Нижче — деталі.
Custodial vs Non-custodial: у чому реальна різниця
Custodial — провайдер зберігає приватний ключ. Користувач аутентифікується через email/password/OAuth. Відновлення тривіальне, KYC/AML вбудовані. Для централізованих додатків з фінансовими операціями — часто єдиний регуляторно прийнятний варіант. Ризик: single point of failure (злом Bitfinex — значні втрати, FTX — понад значну суму клієнтських коштів).
Non-custodial — ключі у користувача. Провайдер не має доступу до коштів. Відповідальність за зберігання лягає на користувача. Для 99% людей це непрацююча модель без додаткового захисту — тут і приходить MPC.
MPC-гаманці: ключ, якого немає
Multi-Party Computation (MPC) — криптографічний протокол, що дозволяє кільком сторонам спільно підписати транзакцію, не розкриваючи свої часткові секрети. Приватний ключ ніколи не існує в зібраному вигляді.
Стандартна схема: 2-of-3 MPC між користувачем (частка на пристрої), сервером провайдера та резервним хмарним сховищем. Транзакція підписується двома будь-якими з трьох сторін. Телефон втрачено — відновлення через сервер + хмару. Сервер скомпрометовано — атакуючий володіє лише однією часткою, підпис неможливий.
TSS (Threshold Signature Scheme) — конкретна реалізація MPC для ECDSA/EdDSA. Алгоритми: GG18, GG20, CGGMP21 (останній швидший і з кращими security proof). Бібліотеки: tss-lib (Go, від Binance), multi-party-sig (Go, від Coinbase), ZenGo-X/multi-party-ecdsa (Rust).
MPC не потребує on-chain змін — для блокчейна підпис виглядає як звичайний single-key підпис. Це дає економію gas та зберігає конфіденційність схеми управління ключами (не публікується в ланцюжку) — на відміну від мультисига.
Account Abstraction (EIP-4337): смарт-контракт як гаманець
EIP-4337 повністю змінює модель: замість EOA (Externally Owned Account) використовується смарт-контракт Account. Логіка авторизації — в коді контракту, а не в криптографії протоколу. Це відкриває довільну логіку підпису, соціальне відновлення, сесійні ключі, sponsored транзакції та батчинг операцій.
User → UserOperation → Bundler → EntryPoint contract → Account contract
↑
Paymaster (optional, pays gas)
UserOperation — новий тип об'єкта (не L1-транзакція). Bundler збирає UserOps з альтернативного mempool, упаковує в одну транзакцію та відправляє в EntryPoint. EntryPoint викликає validateUserOp на Account контракті — Account сам вирішує, чи дійсний підпис.
Практичні можливості:
Соціальне відновлення. Контракт зберігає список guardian'ів (інші адреси або сервіс). Втрата ключа — guardians голосують за заміну. Argent використовує схему з 2020 року.
Сесійні ключі. Тимчасовий ключ з обмеженими правами: взаємодія лише з конкретним контрактом, до певної дати, до певної суми. Для GameFi та dApps — користувач не підписує кожну мікро-транзакцію.
Paymaster. Сторонній контракт платить газ за користувача. Паттерн для онбордингу: користувач не тримає ETH, газ спонсорує dApp або береться з ERC-20 токенів.
Реалізації: Safe{Core} Protocol, Biconomy SDK (Stackup), ZeroDev (Kernel), Alchemy (Rundler bundler). На Ethereum mainnet, Polygon, Arbitrum, Optimism EntryPoint v0.6/v0.7 задеплоєний та активний. Гарантуємо сумісність з останніми версіями контрактів.
Hardware Security Module для корпоративних гаманців
Для казначейств та інституційного зберігання: HSM (Hardware Security Module). Ключ генерується і ніколи не покидає захищений чип. Підпис — всередині HSM. Підтримується апаратна атестація. Використовувані рішення: AWS CloudHSM, Azure Dedicated HSM, Thales Luna, YubiHSM 2 (для невеликих обсягів). Інтеграція через PKCS#11 або cloud-specific API.
Комбінація HSM + MPC — оптимальна для інституційного використання: ключові частки зберігаються в HSM на різних серверах/юрисдикціях, підпис через TSS. Це забезпечує відповідність регуляторним вимогам (наприклад, для крипто-кастодіанів).
Інтеграція з dApps: WalletConnect та стандарти
Будь-який гаманець повинен вміти взаємодіяти з dApps. Стандарт — WalletConnect v2 (Sign API): QR-код або deep link, peer-to-peer зашифрований канал через relay сервер. Для браузерних розширень — EIP-1193 (Ethereum Provider API).
На фронтенді використовуємо wagmi + viem — один інтерфейс для MetaMask, WalletConnect, Coinbase Wallet, injected providers. Для Account Abstraction — EIP-5792 (wallet capabilities) та EIP-7677 (paymaster service).
Процес розробки
-
Threat model — хто користувач (B2C, B2B, institutional), які операції, яка допустима risk model. Від цього залежить архітектура.
-
Вибір та проектування схеми зберігання ключів — MPC, HSM, мультисиг або їх комбінація.
-
Розробка Account контракту (якщо EIP-4337) або інтеграція MPC-бібліотеки.
-
Backend — MPC-координація, управління сесіями, paymaster-сервіс (якщо потрібен).
-
Мобільний/браузерний застосунок — UI з інтеграцією WalletConnect, біометрії, QR.
-
Інтеграція з dApps — EIP-1193, WalletConnect v2.
-
Аудит контрактів та криптографічних реалізацій — обов'язковий етап. MPC-бібліотеки мають відомі вразливості (GG18 піддається атаці при malicious participant без abort protocol). Використовуємо бібліотеки з актуальними security review (CGGMP21). Досвід проходження аудитів у Certik, Hacken, Trail of Bits — підтверджуємо сертифікатами.
Що входить в роботу (deliverables)
- Вихідні коди смарт-контрактів (Solidity/Rust) з документацією
- Backend-сервіс MPC-координації (на Go або Rust) з API
- Мобільний застосунок (iOS/Android) або браузерне розширення
- Інтеграція з WalletConnect, Ledger/Trezor (за потреби)
- Підготовка до аудиту безпеки (звіт зі списком вразливостей)
- Документація адміністратора та користувача
- Доступ до репозиторію, CI/CD, моніторинг (Tenderly, Etherscan API)
- Навчання вашої команди (2-3 сесії)
- Підтримка після запуску — 1 місяць
Строки та вартість
| Тип рішення |
Строки (робочі тижні) |
| Custodial з базовим UI |
4–8 |
| Non-custodial з MPC-інтеграцією |
8–16 |
| EIP-4337 Account з paymaster |
6–12 |
| Institutional (HSM + MPC + compliance) |
від 16 |
Вартість розраховується індивідуально під ваш проект. Оцінимо за 1 день — зв'яжіться з нами. Надаємо гарантію на код та timeline.
Типові помилки при розробці криптогаманців (і як їх уникнути)
-
Використання застарілих MPC-бібліотек — GG18 без abort protocol. Обираємо CGGMP21 або tss-lib з актуальними audit report.
-
Жорстка прив'язка до одного блокчейну — не закладають абстракцію під L2/сайдчейни. Використовуємо viem/wagmi для кросс-чейн.
-
Ігнорування MEV-атак — при використанні мультисига без таймлоків. Додаємо tx simulation (Tenderly) та sandwitching protection.
-
Відсутність fallback-механізму відновлення — для Account Abstraction не налаштовують social recovery. Закладаємо з першого релізу.
Усуваємо ці граблі на етапі проектування — під кожен проект складаємо threat model та security checklist.
Потрібен надійний гаманець без компромісів? Отримайте консультацію нашого архітектора — розберемо вашу задачу та запропонуємо архітектуру з точним кошторисом. Залишайте заявку — відповімо протягом дня.