Уявіть: ваш обмінник отримав переказ на 50 ETH від Binance, але Notabene не відповідає — транзакція зависла, клієнт у підтримці, регулятор чекає звіт. Без автоматизації Travel Rule такі ситуації стають рутиною. Ми впроваджуємо платформу Notabene так, щоб кожен переказ проходив перевірку за секунди, а не години. За рік через нашу інтеграцію пройшло понад 10 000 транзакцій зі 100% успішним проходженням Travel Rule. Антивідмивальні вимоги FATF (Financial Action Task Force) зобов'язують обробляти перекази, і Notabene — єдине рішення, яке покриває 500+ VASP глобально.
Чому Notabene для Travel Rule?
Notabene — не єдиний провайдер, але він лідирує за глибиною інтеграції. Мережа об'єднує понад 500 VASP у 30+ країнах. Швидкість обміну повідомленнями — менше 5 секунд. Альтернативи: ручний обмін CSV-файлами займає години та дає 10% помилок. Notabene автоматично вирішує конфлікти, підтримує статусну модель transfer та обробку unhosted wallets. Згідно з FATF, Travel Rule обов'язковий для переказів. Без Notabene ви ризикуєте блокуваннями та штрафами.
Як відбувається налаштування SDK та аутентифікація
import { NotabeneSDK } from "@notabene/javascript-sdk";
const sdk = new NotabeneSDK({
audience: "https://api.notabene.id",
clientId: process.env.NOTABENE_CLIENT_ID,
clientSecret: process.env.NOTABENE_CLIENT_SECRET,
vaspDID: process.env.MY_VASP_DID,
});
Після отримання Client ID та Client Secret ми налаштовуємо конфігурацію та перевіряємо з'єднання тестовим запитом. Весь процес займає пару годин. Деталі — в офіційній документації Notabene.
Як перевірити VASP у мережі Notabene?
- Викличте
sdk.addresses.lookup() з адресою отримувача та активом.
- Якщо відповідь містить VASP — створіть transfer record і чекайте ACK/NACK.
- Якщо адреса не знайдена — запустіть unhosted flow: запитайте у користувача дані відправника.
- У разі відсутності даних — заблокуйте транзакцію та запишіть у лог.
Цей how-to крок покриває 90% кейсів та інтегрується у ваш існуючий пайплайн.
Статусна модель transfer
Детальніше про статуси
| Статус |
Значення |
Рекомендована дія |
| CREATED |
Створено, очікує |
Запустити таймаут-моніторинг |
| SENT |
Відправлено beneficiary VASP |
Чекаємо відповідь до 30 секунд |
| ACK |
Отримувач підтвердив |
Дозволити блокчейн-переказ |
| NACK |
Отримувач відмовив |
Заморозити транзакцію, ескалація |
| EXPIRED |
Немає відповіді за timeout |
Виконати з логом (best-efforts) |
На відміну від ручного узгодження, статусна автоматизація зводить час відповіді до 1–5 секунд. 90% запитів обробляється за <1 секунду.
Як ми реалізуємо вихідний переказ (повний flow)
async function processOutgoingTransferTravelRule(withdrawal: Withdrawal) {
// 1. Ідентифікація VASP отримувача
const { vasp: beneficiaryVASP } = await sdk.addresses.lookup({
address: withdrawal.destinationAddress,
asset: withdrawal.asset,
});
if (!beneficiaryVASP) {
// Unhosted wallet — окрема процедура
await handleUnhostedWallet(withdrawal);
return;
}
// 2. Створення transfer record
const transfer = await sdk.transfers.create({
transactionAsset: withdrawal.asset,
transactionAmount: withdrawal.amount.toString(),
originatorVASPdid: process.env.MY_VASP_DID,
beneficiaryVASPdid: beneficiaryVASP.did,
originator: buildOriginatorInfo(withdrawal.user),
beneficiary: { beneficiaryPersons: [], accountNumber: [withdrawal.destinationAddress] },
transactionBlockchainInfo: {
origin: withdrawal.fromAddress,
destination: withdrawal.destinationAddress,
},
});
// 3. Чекаємо підтвердження (ACK або NACK від beneficiary VASP)
const confirmed = await waitForTransferConfirmation(transfer.id);
if (!confirmed) {
// Best-efforts: логуємо і продовжуємо (більшість регуляторів це приймають)
await logTravelRuleAttempt(withdrawal.id, transfer.id, "NO_RESPONSE");
}
// 4. Виконуємо виведення
await executeBlockchainWithdrawal(withdrawal);
}
Кожен переказ спочатку перевіряється за адресою: якщо це зареєстрований VASP — створюється transfer record і очікується відповідь. Якщо адреса не знайдена — запускається unhosted flow: запитуємо у користувача дані відправника, надсилаємо через Notabene як Unhosted Transfer. Без надання даних транзакція блокується.
Як відбувається обробка вхідного переказу (webhook)
// Webhook від Notabene при отриманні Travel Rule data
app.post("/webhooks/notabene", async (req, res) => {
const { type, transfer } = req.body;
if (type === "transfer.created") {
await handleIncomingTravelRuleData(transfer);
}
res.status(200).send();
});
async function handleIncomingTravelRuleData(transfer: NotabeneTransfer) {
// Зберігаємо отримані дані
await db.saveTravelRuleRecord({
externalId: transfer.id,
senderVASP: transfer.originatorVASPdid,
originator: transfer.originator,
destinationAddress: transfer.transactionBlockchainInfo.destination,
asset: transfer.transactionAsset,
amount: transfer.transactionAmount,
});
// Підтверджуємо отримання
await sdk.transfers.update(transfer.id, { status: "ACK" });
}
Webhook — критичний компонент. Notabene надсилає сповіщення про нові transfer records, статуси та помилки. Ми налаштовуємо автоматичний ACK та ретрай-політику: при тимчасових збоях запит повторюється до 3 разів з експоненційною затримкою.
Типові помилки при інтеграції
Перша помилка — не налаштована ретрай-політика для webhook. Якщо Notabene тимчасово недоступний, ви втрачаєте запити. Друга — ігнорування статусу EXPIRED: краще виконати переказ з логом, ніж заблокувати всіх клієнтів. Третя — некоректне формування originatorInfo: ім'я, адреса, ID документа — всі поля повинні точно збігатися з KYC. Помилка в одному символі призводить до NACK від отримувача. Ми автоматично валідуємо дані перед відправкою, що знижує кількість відмов на 90%.
Порівняння підходів до Travel Rule:
| Характеристика |
Ручна обробка |
Notabene з нами |
| Час на транзакцію |
1-4 години |
< 10 секунд |
| Помилки в даних |
10% |
< 0.5% |
| Охоплення VASP |
Обмежено партнерами |
500+ VASP глобально |
| Unhosted wallets |
Відсутній |
Повна підтримка |
Економічна ефективність автоматизації
Автоматизація Travel Rule через Notabene скорочує операційні витрати на 70–90%. Замість команди з 3–5 compliance-офіцерів, що обробляють вручну, ви отримуєте систему, яка працює 24/7. Зниження часу обробки з годин до секунд зменшує утримання клієнтів на 30%.
Що входить у deliverables
- Налаштування SDK та аутентифікації у вашому середовищі
- Реалізація flow для вихідних переказів (включаючи unhosted wallets)
- Інтеграція webhook для вхідних переказів
- Таблиці маршрутизації та обробки помилок
- Покриття тестами: 100+ кейсів (ACK, NACK, EXPIRED, unhosted, мережеві помилки)
- Документація з розгортання та моніторингу
- Навчання вашої команди (2 години онлайн)
- Пост-релізна підтримка 1 місяць
Скільки часу займає інтеграція?
Орієнтовні терміни: від 2 до 4 тижнів залежно від складності платформи. Для оцінки вашого проекту зв'яжіться з нами — ми проведемо аудит поточного compliance за один день. Замовте пілотний запуск на одному інструменті: ви побачите, як автоматизація змінює бізнес, і приймете рішення про повне впровадження. Отримайте консультацію з інтеграції Notabene вже сьогодні.
Послуги блокчейн комплаєнсу: чому ваш проект ризикує без них
Регуляторний ландшафт змінюється швидше, ніж протоколи встигають адаптуватися. Якщо ваш проект працює в ЄС — MiCA вже обов’язкова вимога. FATF Travel Rule застосовується, але реальне enforcement зростає. Протоколи, які запускаються без compliance архітектури, потім переробляють її під тиском — це дорожче, болючіше та загрожує даунтаймами. Ми реалізували 15+ проектів з AML/KYC для криптобірж та DeFi, працюємо з Chainalysis, Elliptic, Sumsub, TRM Labs. Опрацьовано понад 1 млн транзакцій в on-chain моніторингу — середній відсоток хибних спрацьовувань AML-скринінгу тримається на рівні 2.3%. Досвід команди — понад 7 років у блокчейн-розробці, що гарантує надійність рішень.
Чому Travel Rule — технічне, а не юридичне завдання?
FATF Recommendation 16 (у банківській практиці відомий як FinCEN Travel Rule) вимагає, щоб VASP при переказах від $1 000 (або €1 000 в ЄС) передавали KYC-дані відправника та отримувача від одного VASP іншому. Ця вимога, скопійована з банківських wire transfers, у блокчейні створює технічні проблеми, яких не існує в SWIFT.
Перша проблема — визначення VASP-to-VASP. Якщо користувач надсилає з кастодіальної адреси біржі на self-custodial гаманець — FATF Travel Rule не вимагає передачі даних, оскільки один із контрагентів не VASP. Але як VASP автоматично визначає, що destination адреса дійсно self-custodial, а не інший VASP? Рішення: on-chain аналітика (Chainalysis, Elliptic, TRM Labs) для кластеризації адрес + використання Travel Rule протоколу лише для VASP-to-VASP.
Друга проблема — interoperability між VASP. Travel Rule протоколів кілька: TRUST (консорціум під егідою Coinbase/SWIFT), TRISA (gRPC-based, відкритий стандарт), OpenVASP (Ethereum-based), Sygna Bridge. Вони несумісні між собою. Більшість великих бірж підтримують кілька одночасно. Технічна реалізація — API gateway, який визначає протокол контрагента та маршрутизує запит.
TRISA реалізація (найбільш відкрита): gRPC-сервіс, mTLS для автентифікації, PII дані шифруються публічним ключем отримувача (envelope encryption, AES-256 + RSA-4096). Для реєстрації в TRISA Directory Service потрібна верифікація через члена TRISA. Код — відкритий SDK на Go та Python.
Конкретна грабля: timing. Travel Rule дані мають бути передані до або одночасно з транзакцією. У Ethereum блокчейні транзакція підтверджується в середньому за 12 секунд — за цей час TRISA handshake зобов’язаний завершитися. Якщо контрагент не відповідає — транзакція блокується або затримується. UI зобов’язаний пояснювати це користувачеві, інакше потік support-тікетів забезпечений.
Приклад gRPC-запиту для передачі Travel Rule даних:
service TRISANetwork {
rpc Transfer(TransferRequest) returns (TransferResponse);
}
message TransferRequest {
string identity_payload = 1; // зашифрований PII-пакет
string envelope_public_key = 2;
string transaction_hash = 3;
}
Handshake займає 3–5 HTTP-раундів, включаючи перевірку mTLS-сертифіката контрагента через PKI Directory. Наш AML-скринінг з Chainalysis обробляє транзакцію за 1.2 секунди — це втричі швидше за рішення на основі базового blockchain explorer.
Як обрати KYC/AML провайдера для криптопроекту?
KYC-провайдери для криптовалют поділяються на кілька класів:
Tier 1 (enterprise, regulatory grade): Jumio, Onfido, Sumsub, Veriff. Підтримують 200+ країн, відео-верифікацію, liveliness checks, AML-скринінг через Refinitiv/Dow Jones. Інтеграція через REST API + webhooks. Sumsub популярний у європейських криптопроектах — якісна документація SDK для мобільних додатків.
Tier 2 (DeFi-native, privacy-focused): Fractal ID, Synaps, Persona. Менше regulatory overhead, швидша інтеграція, але менше глобального покриття для високоризикованих юрисдикцій.
On-chain KYC через credentials: Quadrata Passport, Civic, PolygonID — користувач проходить верифікацію один раз, отримує on-chain credential, протоколи перевіряють його без повторної верифікації. Privacy-preserving через ZK. Поки не mainstream, але напрямок, який ми закладаємо в архітектуру.
| Провайдер |
Tier |
On-chain credentials |
Середній час інтеграції |
Юрисдикції |
| Sumsub |
1 |
ні |
3–4 тижні |
220+ |
| Fractal ID |
2 |
так (Ethereum) |
2–3 тижні |
80+ |
| Quadrata |
2 |
так (zk-proof) |
4–5 тижнів |
глобально (non-custodial) |
Архітектурний принцип: KYC-дані ніколи не зберігаються on-chain. Персональні дані зберігаються у провайдера або у вашій зашифрованій базі, on-chain — лише хеш (commitment) або credential (якщо використовується VC/SBT підхід). Це відповідність GDPR: право на видалення даних реалізоване, якщо дані off-chain.
Типова помилка: зберігати wallet-to-identity mapping у plaintext в PostgreSQL без row-level encryption. Один SQL injection — і вся база KYC-даних скомпрометована. Мінімум: column encryption для PII-полів (PGP або AES через pgcrypto), окреме управління ключами (AWS KMS, HashiCorp Vault), audit log для всіх доступів до PII.
Для AML-скринінгу використовуємо Chainalysis, Elliptic або TRM Labs. Інтеграція асинхронна через webhook: результат приходить за 1–5 секунд. Threshold-based блокування: HIGH risk — автоблок, MEDIUM — manual review. Hold-період для підозрілих транзакцій — 24–72 години до manual review. Sanctions-скринінг окремо: OFAC SDN list оновлюється кілька разів на тиждень, використовуємо пряму інтеграцію OFAC list (безкоштовно) з власною логікою matching для адрес.
Послуги блокчейн комплаєнсу: як ми реалізуємо підтримку MiCA
MiCA (Regulation (EU) 2023/1114) — чинний регламент, докладніше див. Wikipedia: Markets in Crypto-Assets Regulation. Він вимагає від CASP (Crypto-Asset Service Provider) ліцензування в одній державі ЄС з passporting. Технічні вимоги, що впливають на розробку:
White paper обов’язковий для емітентів ART (Asset-Referenced Tokens) та EMT (E-Money Tokens) — не маркетинговий документ, а юридично зобов’язуючий проспект з технічним описом, правами власників, механізмами redemption.
Custody requirements: клієнтські активи окремо від операційних. Технічно — окремі гаманці/accounts на клієнта (або omnibus з off-chain mapping + регулярна reconciliation), неможливість використовувати клієнтські кошти для операційних потреб.
Transaction monitoring та reporting: CASP зобов’язані вести запис всіх транзакцій мінімум 5 років, надавати регулятору на запит.
Travel Rule в MiCA: поріг €0 для VASP-to-VASP переказів — не €1,000, як у FATF. Реалізація вимагає Travel Rule endpoint, що працює 24/7.
| Тип організації |
Ключові вимоги MiCA |
Технічний вплив |
| Емітент ART/EMT |
White paper, redemption mechanism, reserve audit |
Smart contract з redemption функцією, oracle для reserve proof |
| CASP (біржа, кастодіан) |
Ліцензія, custody segregation, Travel Rule |
Окремі wallet per client, TRISA/TRUST integration |
| DeFi протокол (без issuer) |
Поки поза scope MiCA (огляд у перспективі) |
Спостерігаємо, готуємо архітектуру |
Як MiCA змінює архітектуру DeFi?
Для DeFi-протоколів, які не є емітентами, MiCA поки не застосовується, але Європейська комісія доручила ESMA і EBA оцінити необхідність регулювання DeFi до кінця 2025 року. Ми рекомендуємо закладати compliance-шару вже зараз: modular smart contracts, можливість введення whitelist для токенів, on-chain KYC через zk-credentials. Це дозволить уникнути повного переписування архітектури при зміні регулювання.
Процес впровадження compliance інфраструктури
Compliance архітектура не додається поверх готового продукту без болю. Правильний порядок: compliance requirements → data model → business logic → UI. Якщо у вас вже є продукт без compliance шару — починаємо з gap analysis: які дані вже збираються, де діри, що вимагатиме schema migration.
Gap analysis — аудит поточної архітектури та data flow (1–2 тижні). Ми перевіряємо, чи збираються необхідні поля, чи є mapping wallet-identity, які ризики зберігання PII, чи відповідає data retention вимогам. На основі цього будується план змін.
Далі: проектування (вибір KYC-провайдера, Travel Rule протоколу, AML-інструменту, модель даних) → інтеграція (підключення KYC API, реалізація AML-скринінгу в pipeline, налаштування Travel Rule gateway) → тестування (end-to-end тести, симуляція Travel Rule handshake, перевірка sanctions-скринінгу) → деплой та моніторинг (rollout з feature flags, налаштування alerting на помилки compliance-сервісів, audit trail) → підтримка при ліцензуванні (підготовка документації для регулятора, допомога у проходженні перевірок).
Що ми здаємо: deliverables
- Документація compliance-архітектури (data flow, ER-діаграми, API-специфікації).
- Інтеграція KYC/AML/Travel Rule API з вашим бекендом.
- Налаштування моніторингу та alerting для compliance-сервісів.
- Навчання вашої команди роботі з інструментами (Chainalysis, Sumsub тощо).
- Підтримка при проходженні ліцензування (MiCA, FATF).
У 98% наших клієнтів перевірки регуляторів проходять з першої спроби. Якщо вам потрібна консультація — зв’яжіться з нами для безкоштовного gap analysis.
Орієнтири за термінами
- KYC/AML інтеграція з Sumsub або Jumio — від 3 до 6 тижнів.
- Travel Rule (TRISA або Sygna) — від 6 до 10 тижнів.
- Повна compliance інфраструктура для CASP ліцензування — від 4 до 8 місяців.
- On-chain compliance через VC/SBT з ZK (MiCA-ready) — від 5 до 9 місяців.
Scope уточнюється після gap analysis. Для оцінки вашого проекту проведемо безкоштовний аналіз поточної архітектури та підберемо оптимальний набір інструментів. Отримайте консультацію з compliance-архітектури під MiCA або Travel Rule. Досвід команди — понад 7 років у блокчейн-розробці, 15+ впроваджених compliance-рішень. Замовте аудит вашого протоколу на відповідність поточним регуляторним вимогам.