Знайте покупателя. Знайте кошелек. До перемещения средств.
Каждый регулируемый онрамп должен обе половины — KYC для покупателя + KYT для
кошелька назначения — при каждой покупке. Didit поставляет их как единый рабочий процесс:
$0.33 KYC + $0.17 транзакция (включая экран управляемого кошелька) = $0.50 за
покупку. BYOK для поставщика кошелька снижает цену до $0.37. 500 бесплатных верификаций
каждый месяц.
Как это работает
От регистрации до верифицированного пользователя за четыре шага.
Шаг 01
Создать рабочий процесс
Выберите нужные проверки — ID, проверка на живость, сопоставление лиц, санкции, адрес, возраст, телефон, электронная почта, пользовательские вопросы. Перетащите их в поток на панели управления или отправьте тот же поток в наш API. Разветвляйте по условиям, проводите A/B-тесты, код не требуется.
Шаг 02
Интегрировать
Встраивайте нативно с помощью наших SDK для Web, iOS, Android, React Native или Flutter. Перенаправляйте на размещенную страницу. Или просто отправьте пользователю ссылку — по электронной почте, SMS, WhatsApp, куда угодно. Выберите то, что подходит вашему стеку.
Шаг 03
Пользователь проходит процесс
Didit размещает камеру, подсказки по освещению, мобильную передачу и доступность. Пока пользователь находится в потоке, мы оцениваем более 200 сигналов мошенничества в реальном времени и проверяем каждое поле по авторитетным источникам данных. Результат менее чем за две секунды.
Шаг 04
Вы получаете результаты
Подписанные веб-хуки в реальном времени синхронизируют вашу базу данных в момент одобрения, отклонения или отправки пользователя на проверку. Опрашивайте API по запросу. Или откройте консоль, чтобы проверить каждую сессию, каждый сигнал и управлять случаями по-своему.
Создано для онрампов · Цена как у инфраструктуры
Шесть проверок. Два вызова API. $0.50 за покупку.
Регулируемая покупка через онрамп — это не одна проверка, это рецепт. Переключайте каждый модуль для каждого рабочего процесса, используйте собственного поставщика экрана кошелька через BYOK, чтобы снизить цену до $0.37 за покупку.
ID, проверка на живость, сопоставление лиц, устройство + IP, AML — в комплекте за $0.33 на покупателя. Сертифицировано iBeta Level 1 по борьбе с подделками, вердикт менее чем за две секунды, поддерживает более 14 000 документов в более чем 220 странах.
Оцените пункт назначения до того, как криптовалюта будет отправлена.
Обнаруживает санкционированные кошельки, миксеры, высокорисковые биржи, украденные средства. $0.15 за управляемую проверку или $0.02 за проверку с вашим собственным ключом поставщика. EVM, Bitcoin, TRON, Solana, основные L2.
Проверяйте каждого покупателя по более чем 1300 спискам.
Санкции, политически значимые лица (PEP), негативные упоминания в СМИ — обновляется ежедневно, на 14 языках. Совпадения автоматически открывают дело и блокируют покупку до получения разрешения.
Проверьте покупателя до того, как покупка будет подтверждена.
1300+ списков
ПопаданиеИсходный списокОценкаСтатус
OFAC SDN — Особо обозначенное лицоOFAC96Block
PEP · Иностранный государственный чиновникDow Jones PEP78Review
Негативные упоминания в СМИ — финансовые санкцииНегативные данные ЕС41Pass
14 languages · daily delta refresh$0.20 / check
04 · Правило путешествий (TFR)
Инициатор + бенефициар при каждом переводе.
IVMS-101 полезные нагрузки обмениваются через TRP, Sumsub Travel Rule, Notabene, Veriscope. Нет €1,000 de minimis в соответствии с EU TFR — каждая передача содержит данные отправителя + получателя.
Полезная нагрузка IVMS-101 обменивается через TRP, Sumsub TR, Notabene, Veriscope.
05 · Лимиты транзакций
Лимиты, которые меняются в зависимости от риска покупателя.
Пороговые значения скорости, суммы, цепочки и географии в реальном времени для каждого рабочего процесса. Автоматически обнаруживает паттерны структурирования. Редактируйте правила в конструкторе рабочих процессов без кода без повторного развертывания.
Лимиты, которые меняются в зависимости от риска пользователя.
В реальном времени
ПравилоПорогДействие
Единовременная покупка · KYC первого уровня≤ €1,000Pass
Ежедневный объем · на пользователя≤ €5,000Pass
30-дневный кумулятивный≤ €25,000Review
Первая покупка · геозона высокого рискаAny amountReview
Обнаружено структурированиеPattern matchBlock
Edit rules in the no-code Workflow Builder. No redeploy.
06 · Покрытие офрампов
Ввод и вывод средств. Один рабочий процесс.
Та же сессия /v3/ обрабатывает выводы: KYC продавца, KYT исходного кошелька, AML покупателя, отправка пакета Travel Rule. Один контракт, один счет, один аудиторский пакет для обоих направлений.
Проверка кошелька выполняется на стороне сервера, когда currency_kind: "crypto". Без второго вызова.документы →
Интеграция, готовая к работе с агентом
Запустите процесс KYC + KYT для онрампинга в одном запросе.
Вставьте в Claude Code, Cursor, Codex, Devin, Aider или Replit Agent. Заполните свой стек. Агент создает рабочий процесс, блокирует покупку на экране кошелька, включает постоянный мониторинг и настраивает вебхук.
didit-integration-prompt.md
You are integrating Didit into a fiat-to-crypto on-ramp. Two obligations on every buy:
1. Verify the buyer (KYC) — identity, liveness, face match, device + IP, AML against 1,300+ sanctions / PEP / adverse-media lists. ONE call to the Sessions API.
2. Screen the destination wallet (KYT) — risk-score the address against sanctioned wallets, mixers, high-risk counterparties BEFORE the crypto leaves. ONE call to the Transactions API with currency_kind: "crypto".
Bundle pricing (verified live against POST /v3/transactions/, 2026-05-16):
- KYC bundle: $0.33 per buyer (Sessions API)
- Transactions API call: $0.02 base (transaction-monitoring) + $0.15 wallet screening (Didit's default managed provider) = $0.17 per buy
- Total managed: $0.33 + $0.17 = $0.50 per fully-screened buy
- Total with BYOK on the wallet provider: $0.33 + $0.04 = $0.37 per buy
- First 500 KYC verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with HMAC SHA-256 verification using the X-Signature-V2 header and your webhook secret.
- A workflow_id from the Workflow Builder that bundles ID Verification + Passive Liveness + Face Match 1:1 + Device & IP Analysis + AML Screening.
- Transaction Monitoring enabled in the Business Console (Transactions > Settings) with crypto screening turned on.
STEP 1 — Verify the buyer with the Sessions API
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id with KYC + AML modules>",
"vendor_data": "<your buyer id, max 256 chars>",
"callback": "https://<your-app>/onramp/kyc/callback",
"metadata": {
"purpose": "crypto_onramp_buy",
"buy_id": "<your internal tx reference>"
}
}
Response: 201 Created with the hosted session URL. Redirect the buyer to it. Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on KYC completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your buyer id>",
"status": "Approved",
"id_verification": { "status": "Approved" },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"ip_analysis": { "status": "Approved" },
"aml": { "status": "Approved", "hits": [] }
}
Status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Verify the X-Signature-V2 header BEFORE reading the body — HMAC SHA-256 of the raw bytes with your webhook secret.
STEP 3 — Screen the destination wallet BEFORE crediting the buy
POST https://verification.didit.me/v3/transactions/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body (required fields verified live 2026-05-16):
{
"transaction_id": "<your internal buy reference>",
"transaction_category": "finance",
"include_crypto_screening": true,
"transaction_details": {
"direction": "OUTBOUND",
"amount": "0.25",
"currency": "ETH",
"currency_kind": "crypto",
"action_type": "withdrawal"
},
"subject": {
"entity_type": "individual",
"vendor_data": "<your buyer id>",
"full_name": "<buyer full name>"
},
"counterparty": {
"entity_type": "unhosted_wallet",
"full_name": "<destination wallet label>",
"payment_method": {
"method_type": "crypto_wallet",
"account_id": "<destination wallet address>"
}
}
}
REQUIRED fields the API rejects if missing:
- subject.vendor_data + subject.full_name
- counterparty.full_name
- transaction_details.direction + currency + currency_kind + amount
- For crypto: a wallet address on counterparty.payment_method.account_id (OUTBOUND) or subject.payment_method.account_id (INBOUND post-transfer)
Wallet screening runs server-side when currency_kind = "crypto" and there is a wallet address in the right participant. No separate endpoint.
Response shape (excerpted from a real successful 201):
{
"uuid": "<server transaction uuid>",
"txn_id": "<your transaction_id echoed back>",
"status": "APPROVED",
"score": 0,
"severity": null, // null when score is 0; LOW | MEDIUM | HIGH | CRITICAL | UNKNOWN otherwise
"props": {
"wallet_risk_score": 0,
"sanctions_hit": false,
"pep_counterparty": false,
"aml_provider": "<provider slug>", // identifies the screening provider used on this call
"aml_screening_type": "WALLET_SCREENING",
"aml_screening_status": "COMPLETED"
},
"provider_results": [{ "provider": "<provider slug>", "result_type": "WALLET_SCREENING", "status": "SCREENED", ... }],
"cost_breakdown": {
"total_price": 0.17,
"items": [
{ "usage_type": "transaction_aml_monitoring", "price": 0.15 },
{ "usage_type": "transaction_monitoring", "price": 0.02 }
]
}
}
Transaction status enum (exact case, UPPER_SNAKE_CASE): APPROVED | IN_REVIEW | DECLINED | AWAITING_USER.
When a transaction enters AWAITING_USER, Didit creates a linked remediation session automatically and returns a verification URL on the response.
Real per-transaction cost (verified live):
- Plain fiat transaction monitoring: $0.02
- Crypto transaction with managed wallet screening: $0.17 ($0.02 TM base + $0.15 wallet screen on Didit's managed flow)
- Crypto transaction with BYOK wallet screening: $0.04 ($0.02 TM base + $0.02 wallet screen)
Branch logic:
APPROVED → send the crypto.
IN_REVIEW → hold the buy, route to analyst queue.
DECLINED → refund the fiat, block the address.
AWAITING_USER → redirect the buyer to the remediation session URL.
STEP 4 — Ongoing AML monitoring is automatic
Any session with AML enabled is rescreened DAILY by Didit's continuous monitoring at $0.07 per user per year. There is NO separate endpoint to call — the same workflow does it.
When a previously-approved buyer crosses an AML threshold, the session status changes to "In Review" or "Declined" automatically and your webhook fires the update.
STEP 5 — Off-ramp uses the same two endpoints
Selling crypto for fiat:
- KYC the seller via POST /v3/session/ (same as Step 1).
- Screen the source wallet via POST /v3/transactions/ with direction: "INBOUND" and the source wallet address on subject.payment_method.account_id.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
- Transactions: transaction.created · transaction.updated · transaction.status.changed · transaction.alert.generated.
Verify X-Signature-V2 on every payload.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review). Transaction statuses use UPPER_SNAKE_CASE (APPROVED, IN_REVIEW). They live in different APIs — don't mix them in the same code path.
- Wallet Screening MUST run BEFORE the crypto leaves — a post-transfer screen is useful for audit but useless for blocking.
- Default record retention is 5 years post-relationship per the EU AML package; extend per your supervisor's guidance.
- 200+ fraud signals are evaluated on every KYC session at no extra cost — surface the score via the session decision payload, don't re-query.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/transaction-monitoring/overview
- https://docs.didit.me/transaction-monitoring/aml-screening
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.
Нужен дополнительный контекст? Смотрите полную документацию модуля.docs.didit.me →
Соответствие по умолчанию
Откройте новую страну в один клик. Мы делаем сложную работу.
Мы открываем местные дочерние компании, получаем лицензии, проводим тесты на проникновение, получаем сертификаты и соблюдаем все новые правила. Чтобы запустить верификацию в новой стране, просто переключите тумблер. Более 220 стран в работе, аудит и пентесты проводятся ежеквартально — единственный поставщик идентификационных данных, который правительство страны-члена ЕС официально назвало более безопасным, чем личная верификация.
За каждую полностью проверенную покупку — пакет KYC + транзакция с проверкой кошелька.
0+
Санкции, политически значимые лица (PEP) и списки негативных упоминаний проверяются для каждого покупателя.
<0s
Комплексный результат KYC за сессию на Android начального уровня.
0
Бесплатные проверки каждый месяц, на каждом аккаунте.
Три уровня, один прайс-лист
Начните бесплатно. Платите за использование. Масштабируйтесь до Enterprise.
500 бесплатных проверок каждый месяц, навсегда. Оплата по мере использования для продакшена. Индивидуальные контракты, хранение данных и SLA (соглашения об уровне обслуживания) для Enterprise.
Бесплатно
Бесплатно
$0 / месяц. Кредитная карта не требуется.
Бесплатный пакет KYC (проверка личности + пассивная проверка живости + сопоставление лиц + анализ устройства и IP) — 500 / месяц, каждый месяц