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

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

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

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

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

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

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

Fireblocks — інституціональна платформа для зберігання й переміщення цифрових активів. Використовується банками, біржами, брокерами й крупними DeFi-протоколами. У основі — MPC-CMP (Multi-Party Computation) протокол: приватний ключ ніколи не існує цілком ні в одному місці, підпис виробляється спільними обчисленнями кількох учасників.

Архітектура Fireblocks

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

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

Vaults й Wallets. Vault — логічна група. Всередині vault — wallets для різних активів. Один vault = один клієнт, або один торговий рахунок, або одна стратегія.

API інтеграція

import { FireblocksSDK, PeerType, TransactionOperation } from "fireblocks-sdk";

const fireblocks = new FireblocksSDK(
  privateKey,          // RSA приватний ключ для API аутентифікації
  apiKey,              // API key з Fireblocks Console
  "https://api.fireblocks.io"
);

// Створення vault account
const vault = await fireblocks.createVaultAccount("Client_123");

// Створення wallet всередині 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);

Webhook інтеграція

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

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 інтеграція через Fireblocks

Для взаємодії з DeFi протоколами — Fireblocks Web3 Provider:

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 });

Ціноутворення й коли вибирати

Fireblocks — дорогий розв'язок (від $25k/рік для enterprise tier). Виправданий при:

  • Управлінні активами понад $10M
  • Regulatory compliance вимогах (SOC 2, ISO 27001)
  • Команді з кількох підписувачів
  • Інтеграції з традиційними фінансами

Для стартапів й менших обсягів — Safe Multisig + власний custody workflow значно дешевше.

Інтеграція Fireblocks API у існуючий продукт — 2-4 тижні. Включає налаштування Policy Engine, структура vault, webhook обробники й тестування на Fireblocks Sandbox.