Интеграция с Fireblocks

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Интеграция с Fireblocks
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1221
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1163
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    855
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1056
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    828

Интеграция с Fireblocks

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

Архитектура 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 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);

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)
  • Команде из нескольких signers
  • Интеграции с традиционными финансами

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

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