Интеграция с Sygna (Travel Rule compliance)

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Интеграция с Sygna (Travel Rule compliance)
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1258
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1170
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    873
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1092
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    830

Интеграция с Sygna (Travel Rule compliance)

Sygna Bridge — Travel Rule messaging platform от CoolBitX, популярная в Азии (Тайвань, Япония, Корея) и среди крупных exchange (OKX, BitoPro, MaiCoin). Если ваша аудитория или партнёры — азиатские биржи, Sygna обеспечивает лучшее VASP coverage для этого региона.

API интеграция

Sygna использует IVMS101 стандарт для форматирования Travel Rule данных — это InterVASP Messaging Standard, принятый большинством провайдеров.

import { SygnaClient } from "@sygna/bridge-sdk";

const client = new SygnaClient({
  apiKey: process.env.SYGNA_API_KEY,
  baseUrl: "https://api.sygna.io/v2",
  privateKeyHex: process.env.SYGNA_PRIVATE_KEY, // для подписи сообщений
});

// Отправка Travel Rule данных при выводе
async function sendTravelRuleData(withdrawal: Withdrawal): Promise<void> {
  const beneficiaryVASP = await client.getCurrencyId(withdrawal.destinationAddress);
  
  if (!beneficiaryVASP) return; // unhosted wallet
  
  const originatorData = {
    originator: {
      originatorPersons: [{
        naturalPerson: {
          name: [{
            nameIdentifier: [{
              primaryIdentifier: withdrawal.user.lastName,
              secondaryIdentifier: withdrawal.user.firstName,
              nameIdentifierType: "LEGL",
            }]
          }]
        },
        accountNumber: [withdrawal.fromAddress],
      }]
    },
    beneficiary: {
      beneficiaryPersons: [{ accountNumber: [withdrawal.destinationAddress] }]
    },
  };
  
  const callbackUrl = `${process.env.API_URL}/webhooks/sygna/callback`;
  
  await client.postPermissionRequest({
    data: client.encryptData(JSON.stringify(originatorData), beneficiaryVASP.encryptionKey),
    signature: client.signData(originatorData),
    expire_date: Math.floor(Date.now() / 1000) + 3600,
    callback_url: callbackUrl,
    transaction: {
      currency_id: withdrawal.asset,
      amount: withdrawal.amount.toString(),
      sender_address: withdrawal.fromAddress,
      recipient_address: withdrawal.destinationAddress,
    },
  });
}

Разница Sygna vs Notabene

Параметр Sygna Notabene
Главный рынок Азия Глобальный
Шифрование RSA-OAEP (ключи в их системе) SSI/DID
VASP coverage 400+ в Азии 500+ глобально
Стандарт IVMS101 IVMS101
Pricing Перговорные Подписка

Выбор между Sygna и Notabene зависит от географии VASP партнёров. Для глобального покрытия — интеграция обоих через unified Travel Rule service. Интеграция Sygna: 1-2 недели.