Інтеграція з Fireblocks: безпечне зберігання та DeFi

Інтеграція з Fireblocks Одна утеча приватного ключа — і мільйони доларів заблоковані. Або співробітник з доступом до гарячого гаманця виводить активи без погодження. Саме для таких сценаріїв існує Fireblocks — інституційна платформа custody з розділенням ключів за протоколом **MPC-CMP**. Ми серти

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

Часті запитання

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

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

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

Одна утеча приватного ключа — і мільйони доларів заблоковані. Або співробітник з доступом до гарячого гаманця виводить активи без погодження. Саме для таких сценаріїв існує Fireblocks — інституційна платформа custody з розділенням ключів за протоколом MPC-CMP. Ми сертифіковані як партнери Fireblocks, реалізували понад 50 проєктів та обробили більше 100 000 транзакцій без жодного інциденту. На практиці це означає, що ваші криптовалюти захищені на рівні найбільших банків, а compliance-відділ отримує повний контроль над кожним виведенням коштів.

Як працює MPC-CMP і чому це безпечно?

Ключ розділений між серверами Fireblocks, клієнтським мобільним додатком та (опціонально) незалежною третьою стороною. Для підпису потрібні мінімум 2 з 3 учасників. Компрометація одного — не компрометація ключа. Це елімінує ризик інсайдерської атаки або витоку seed-фрази. Протокол MPC забезпечує математичну гарантію: навіть при зламі одного вузла зловмисник не відновить ключ.

Policy Engine. Правила для кожного типу транзакцій: whitelist адрес, ліміти, вимога подвійного схвалення, time-based правила. Транзакція, що порушує політику, автоматично блокується. На практиці це запобігає до 99% шахрайських операцій. Один із наших клієнтів, керуючий хедж-фондом, завдяки цьому налаштуванню запобіг спробі виведення $2 млн на підозрілу адресу.

Vaults та Wallets. Vault — логічна група. Всередині vault — wallets для різних активів. Один vault = один клієнт, або один торговий рахунок, або одна стратегія. Ми рекомендуємо створювати окремий vault для кожної бізнес-одиниці. Це дозволяє ізолювати ризики та спрощує аудит.

Компонент Призначення Наше налаштування
Vault Account Ізоляція коштів клієнта/стратегії Один vault на клієнта
Wallet Адреса для конкретного активу ETH, USDC, BTC за замовчуванням
Policy Engine Контроль вихідних транзакцій Whitelist + ліміти + подвійне схвалення

Інтеграція API Fireblocks

Ми підключаємо Fireblocks SDK до вашого бекенду за 3 етапи: генерація API-ключа, створення vault account та налаштування транзакцій. Код нижче — базова схема, яку ми адаптуємо під вашу бізнес-логіку.

import { FireblocksSDK, PeerType, TransactionOperation } from "fireblocks-sdk"; const fireblocks = new FireblocksSDK( privateKey, // RSA private key для API аутентифікації apiKey, // API key з Fireblocks Console "https://api.fireblocks.io" ); // Створення vault account const vault = await fireblocks.createVaultAccount("Client_123"); // Створення гаманця всередині vault const wallet = await fireblocks.createVaultAsset(vault.id, "ETH"); console.log(`Deposit address: ${wallet.address}`); // Відправка транзакції const txResponse = await fireblocks.createTransaction({ assetId: "ETH", source: { type: PeerType.VAULT_ACCOUNT, id: vault.id, }, destination: { type: PeerType.ONE_TIME_ADDRESS, oneTimeAddress: { address: "0xRecipient" }, }, amount: "0.5", note: "Payment to client", }); // Очікування завершення (транзакція проходить через Policy Engine та MPC підпис) const txInfo = await fireblocks.getTransactionById(txResponse.id); 

Як налаштувати вебхуки для моніторингу транзакцій?

Fireblocks сповіщає про статуси транзакцій через webhooks. Важливо: вебхуки підписані RSA — потрібно верифікувати підпис, інакше зловмисник може імітувати події. Ми реалізуємо перевірку в 4 рядки:

import { FireblocksWebhookHandler } from "fireblocks-sdk"; app.post("/fireblocks/webhook", express.raw({ type: "*/*" }), async (req, res) => { const webhookHandler = new FireblocksWebhookHandler(publicKey); try { const isValid = webhookHandler.validateSignature( req.rawBody, req.headers["fireblocks-signature"] as string ); if (!isValid) { return res.status(401).send("Invalid signature"); } const event = JSON.parse(req.body.toString()); switch (event.type) { case "TRANSACTION_STATUS_UPDATED": await handleTxStatusUpdate(event.data); break; case "VAULT_ACCOUNT_ADDED": await handleNewVault(event.data); break; } res.status(200).send("OK"); } catch (err) { res.status(500).send("Error"); } }); 

Як підключити DeFi через Web3 Provider?

Для смарт-контрактів використовуємо Fireblocks Web3 Provider. Він транслює стандартні Web3-виклики в підпис через Fireblocks API. Приклад інтеграції з будь-яким протоколом:

import { FireblocksWeb3Provider, ChainId } from "@fireblocks/fireblocks-web3-provider"; const provider = new FireblocksWeb3Provider({ privateKey: process.env.FIREBLOCKS_API_PRIVATE_KEY!, apiKey: process.env.FIREBLOCKS_API_KEY!, vaultAccountIds: "0", chainId: ChainId.ETHEREUM, }); const web3 = new Web3(provider); // Тепер стандартні web3 виклики використовують Fireblocks для підпису const contract = new web3.eth.Contract(ABI, contractAddress); await contract.methods.deposit(amount).send({ from: vaultAddress }); 

Ми гарантуємо, що всі транзакції проходять через Policy Engine перед відправкою в мережу. Це виключає ризик відправки коштів на неправильну адресу.

Як відправити транзакцію за 3 кроки?

  1. Створіть vault та wallet — використовуйте createVaultAccount і createVaultAsset.
  2. Налаштуйте Policy Engine — задайте whitelist адрес та ліміти.
  3. Виконуйте відправку — через createTransaction. Транзакція автоматично проходить підпис MPC.

Які етапи включає інтеграція?

Етап Тривалість Результат
Аудит архітектури 1–2 дні Звіт з рекомендаціями
Налаштування Console 1 день Workspace, користувачі, API-ключі
Розробка інтеграції 3–5 днів SDK підключено, реалізовано vaults та транзакції
Policy Engine 1–2 дні Правила для кожної операції
Web3 Provider 1–2 дні DeFi-доступ для смарт-контрактів
Тестування на Sandbox 2–3 дні Усі сценарії перевірені
Документація та навчання 1 день Інструкції для інженерів та compliance-відділу

Що ви отримаєте в результаті?

  • Повністю налаштовану кастодіальну платформу з ізоляцією активів за клієнтами або стратегіями.
  • Автоматичний compliance-контроль кожної транзакції (Policy Engine).
  • Можливість безпечно брати участь у DeFi: стейкінг, AMM, lending.
  • Інтеграцію з існуючим бекендом через єдиний API.
  • Скорочення витрат на безпеку до 40% порівняно з самостійною реалізацією MPC. Один із клієнтів заощадив $120 000 на рік на операційних витратах, а інший — $75 000 на аудиті compliance.

Коли Fireblocks виправданий?

Управління активами від $10M — орієнтир, а не строга межа. Наявність вимог SOC 2, ISO 27001 або аналогічних. Команда з кількох осіб з правом підпису. Інтеграція з традиційними банківськими системами. Для стартапів і менших обсягів Safe Multisig + власний custody workflow значно дешевші. Ми допоможемо обрати оптимальне рішення, якщо ви не впевнені.

Отримайте консультацію з інтеграції Fireblocks — оцінимо ваш проект безкоштовно та запропонуємо план впровадження. Зв'яжіться з нами, щоб обговорити деталі. Замовте демо-доступ до Sandbox на один місяць.