تتبادل Didit بيانات قاعدة السفر وتفحص محفظة الطرف المقابل في نفس مكالمة المعاملة `/v3/`. حمولات IVMS-101، 0.17 دولار لكل تحويل مُدار، 500 عملية تحقق مجانية كل شهر.
يدين كل مزود خدمة أصول افتراضية (VASP) منظم بكلا النصفين في كل تحويل — حزمة IVMS-101
لمزود خدمة الأصول الافتراضية المقابل، وفحص المخاطر على السلسلة لنفسه. تشحن Didit
هذه كاستدعاء واحد لواجهة برمجة تطبيقات المعاملات: 0.17 دولار مُدار، 0.04 دولار مع إحضار مفتاحك الخاص
لمزود المحفظة. 500 عملية تحقق مجانية كل شهر.
كيف يعمل
من التسجيل إلى المستخدم المتحقق منه في أربع خطوات.
الخطوة 01
إنشاء سير العمل
اختر الفحوصات التي تريدها — الهوية، الحيوية، مطابقة الوجه، العقوبات، العنوان، العمر، الهاتف، البريد الإلكتروني، الأسئلة المخصصة. اسحبها إلى تدفق في لوحة التحكم، أو انشر نفس التدفق على واجهة برمجة التطبيقات الخاصة بنا. تفرع بناءً على الشروط، قم بإجراء اختبارات A/B، لا يلزم وجود رمز.
الخطوة 02
الدمج
قم بالتضمين بشكل أصلي باستخدام SDK الخاص بنا للويب، iOS، Android، React Native، أو Flutter. أعد التوجيه إلى صفحة مستضافة. أو فقط أرسل لمستخدمك رابطًا — عبر البريد الإلكتروني، الرسائل القصيرة، واتساب، في أي مكان. اختر ما يناسب مجموعتك التقنية.
الخطوة 03
يمر المستخدم عبر التدفق
تستضيف Didit الكاميرا، إشارات الإضاءة، التسليم عبر الهاتف المحمول، وإمكانية الوصول. بينما يكون المستخدم في التدفق، نقوم بتسجيل أكثر من 200 إشارة احتيال في الوقت الفعلي ونتحقق من كل حقل مقابل مصادر البيانات الموثوقة. النتيجة في أقل من ثانيتين.
الخطوة 04
تتلقى النتائج
تحافظ الـ webhooks الموقعة في الوقت الفعلي على مزامنة قاعدة بياناتك في اللحظة التي يتم فيها الموافقة على المستخدم، أو رفضه، أو إرساله للمراجعة. استعلم واجهة برمجة التطبيقات عند الطلب. أو افتح وحدة التحكم لفحص كل جلسة، وكل إشارة، وإدارة الحالات بطريقتك.
مصمم لقاعدة السفر · مسعر كبنية تحتية
مكالمة واحدة. حزمة IVMS-101 + فحص المحفظة. $0.17.
التحويل المشفر المنظم ليس فحصًا واحدًا — إنه وصفة. قم بتبديل كل وحدة لكل سير عمل، واستبدل مزود فحص المحفظة الخاص بك عبر Bring Your Own Key لخفض التكلفة إلى 0.04 دولار لكل تحويل.
حقول المنشئ والمستفيد مملوءة من KYC المتحقق منه. منسقة تلقائيًا إلى معيار InterVASP Messaging Standard 101 — المخطط الذي تقرأه جميع بروتوكولات قاعدة السفر الرئيسية.
يتم ملؤها تلقائيًا من جلسة KYC التي تم التحقق منها.
02 · عتبات لكل ولاية قضائية
عتبات تتناسب مع نطاق سلطتك القضائية.
EU TFR (لا يوجد حد أدنى)، US FinCEN (3,000 دولار)، UK FCA (1,000 جنيه إسترليني)، MAS (1,500 دولار سنغافوري)، FINMA (1,000 فرنك سويسري)، VARA (3,500 درهم إماراتي). سير عمل واحد لكل ولاية قضائية؛ التبديل عبر بيانات تعريف الجلسة.
سير عمل واحد لكل ولاية قضائية؛ التبديل عبر بيانات تعريف الجلسة.
03 · قابلية التشغيل البيني للبروتوكول
كل بروتوكول لقاعدة السفر. عقد واحد.
TRP، Sumsub Travel Rule، Notabene، Veriscope، OpenVASP، Shyft — كلها يمكن الوصول إليها عبر نفس حمولة IVMS-101. اختر شبكة واحدة أو اقبلها كلها؛ عقد واحد، فاتورة واحدة.
لا يوجد مزود خدمة أصول افتراضية (VASP) مقابل للتبادل معه — تجمع Didit هوية المستفيد من المستخدم، وتجري تحديات إثبات التحكم فوق عتبات العناية الواجبة المعززة في الاتحاد الأوروبي، وتفحص محفظة الوجهة، وتخزن السجل بتنسيق IVMS.
$0.02 أساس مراقبة المعاملات + $0.15 فحص المحفظة المدار = $0.17 لكل تحويل. مع إحضار مفتاحك الخاص على مزود المحفظة، ينخفض فحص المحفظة إلى $0.02 — إجمالي $0.04.
$0.02 أساسي + $0.15 شاشة محفظة مُدارة$0.04 مع BYOK
06 · حزمة أدلة لكل تحويل
حزمة واحدة لكل تحويل. تُضاف إلى التدقيق.
حمولة IVMS-101، حكم فحص المحفظة، إسناد مزود خدمة الأصول الافتراضية (VASP) المقابل، طوابع زمنية HMAC موقعة. مخزنة في الاتحاد الأوروبي. محتفظ بها لمدة 5 سنوات افتراضيًا؛ قابلة للتمديد حسب توجيهات المشرف.
201تم الإنشاءالحالة تمت الموافقة · قيد المراجعة · مرفوض · بانتظار المستخدم
حزمة IVMS-101 + فحص المحفظة يتم تشغيلها من جانب الخادم. لا توجد مكالمة ثانية.الوثائق ←
تكامل جاهز للوكيل
أرسل تدفق قاعدة السفر في مطالبة واحدة.
الصق في Claude Code أو Cursor أو Codex أو Devin أو Aider أو Replit Agent. املأ مكدسك. يقوم الوكيل ببناء سير العمل، ويملأ حقول IVMS من جلسة KYC، ويشغل فحص المحفظة، ويوصل الويب هوك.
didit-integration-prompt.md
You are integrating Didit into a Virtual Asset Service Provider (VASP) / Crypto-Asset Service Provider (CASP) to satisfy the Travel Rule on every crypto transfer. Two obligations:
1. Verify the user (KYC) — identity, liveness, face match, device + IP, AML. The originator data on every outbound transfer comes from this verified profile.
2. Submit each transfer with originator + beneficiary fields (IVMS-101) AND screen the counterparty wallet — one /v3/transactions/ call.
Bundle pricing (verified live 2026-05-16):
- User Verification (KYC) bundle: $0.33 per user (Sessions API)
- Transactions API call: $0.02 base + $0.15 managed wallet screen = $0.17 per managed transfer
- With Bring Your Own Key (BYOK) on the wallet provider: $0.04 per transfer ($0.02 + $0.02)
- First 500 verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60 seconds, no credit card).
- Webhook endpoint with HMAC SHA-256 verification of the X-Signature-V2 header.
HMAC-SHA256 verification MUST run against the raw body bytes (the raw payload as Didit sent it) BEFORE any JSON parsing — re-serialising the parsed body changes whitespace and key order, which invalidates the signature. - A workflow_id from the no-code Workflow Builder with ID Verification + Passive Liveness + Face Match 1:1 + Device & IP Analysis + AML Screening.
- Transaction Monitoring + Wallet Screening enabled in the Business Console (Transactions > Settings).
STEP 1 — Verify the user with the Sessions API (one-time onboarding)
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 user id>",
"callback": "https://<your-app>/casp/onboard/callback",
"metadata": {
"purpose": "casp_onboarding"
}
}
Response: 201 Created with the hosted session URL. Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on KYC completion
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.
Capture the user's full name, date of birth, address, and any registered identity-document number from the decision payload. These fields populate the IVMS-101 originator block on every subsequent transfer.
STEP 3 — Submit every transfer with IVMS-101 + wallet screen in one call
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 transfer reference>",
"transaction_category": "finance",
"include_crypto_screening": true,
"transaction_details": {
"direction": "OUTBOUND",
"amount": "0.45",
"currency": "ETH",
"currency_kind": "crypto",
"action_type": "transfer"
},
"subject": {
"entity_type": "individual",
"vendor_data": "<your user id>",
"full_name": "<originator name from KYC>",
"address": "<originator address from KYC>",
"dob": "<originator dob from KYC, YYYY-MM-DD>"
},
"counterparty": {
"entity_type": "individual",
"full_name": "<beneficiary name>",
"address": "<beneficiary address if known>",
"payment_method": {
"method_type": "crypto_wallet",
"account_id": "<counterparty 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
- counterparty.payment_method.account_id (the wallet address)
Didit packages the subject + counterparty fields into an IVMS-101 payload, hands them off to the connected Travel Rule protocol (TRP / Sumsub TR / Notabene / Veriscope), runs Wallet Screening on the counterparty address server-side, and returns one verdict.
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,
"travel_rule": { "status": "EXCHANGED", "protocol": "<network>", "ivms_packet_id": "<id>" },
"props": {
"wallet_risk_score": 0,
"sanctions_hit": false,
"aml_provider": "<provider slug>",
"aml_screening_type": "WALLET_SCREENING",
"aml_screening_status": "COMPLETED"
},
"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.
Wallet-screen severity (UPPER): LOW | MEDIUM | HIGH | CRITICAL | UNKNOWN.
Branch logic:
APPROVED → release the crypto.
IN_REVIEW → hold the transfer, route to analyst queue.
DECLINED → refuse the transfer, log the IVMS attempt for the audit.
AWAITING_USER → redirect the user to the remediation URL on the response.
STEP 4 — Inbound transfers: ingest the counterparty's IVMS packet
When you RECEIVE a transfer from another VASP:
- The connected Travel Rule protocol delivers the originator IVMS data to you BEFORE the on-chain transfer settles.
- Submit it via the same POST /v3/transactions/ with direction: "INBOUND" and the originator fields on subject and your own beneficiary on counterparty.
- Wallet Screening runs on the originator wallet (subject.payment_method.account_id).
- Verdict drives whether to credit the user.
STEP 5 — Self-hosted (unhosted) wallet transfers
For transfers TO a self-hosted wallet (no counterparty VASP to exchange with):
- Collect the beneficiary identity from the user via a custom questionnaire ($0.10).
- Above local enhanced-due-diligence thresholds, prompt the user to sign a short message with the beneficiary wallet's private key as proof of control.
- Submit the transaction with the captured beneficiary fields + wallet address.
- Didit still runs Wallet Screening on the destination and stores the IVMS-format record for the audit.
STEP 6 — Continuous AML on the user is automatic
Every approved user is re-screened daily against 1,300+ sanctions, PEP, and adverse-media lists. There is NO separate endpoint to call. When a previously-clean user crosses an AML threshold, the session status updates and a signed webhook fires.
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 Title Case With Spaces; transaction statuses UPPER_SNAKE_CASE. Don't mix.
- EU Transfer of Funds Regulation has NO de minimis threshold for crypto — every transfer carries originator + beneficiary data.
- US Travel Rule kicks in at $3,000; UK at £1,000; Singapore at SGD 1,500; Switzerland at CHF 1,000. Apply per-workflow.
- Default record retention is 5 years post-transfer per most AML regimes; extensible per supervisor guidance.
- Wallet Screening MUST run BEFORE the crypto leaves — a post-transfer screen is useful for audit but useless for blocking.
Read the docs:
- https://docs.didit.me/transaction-monitoring/overview
- https://docs.didit.me/transaction-monitoring/transactions
- https://docs.didit.me/transaction-monitoring/aml-screening
- https://docs.didit.me/sessions-api/create-session
- 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 دولة تعمل، يتم تدقيقها واختبار اختراقها كل ربع سنة — مزود الهوية الوحيد الذي وصفته حكومة دولة عضو في الاتحاد الأوروبي رسميًا بأنه أكثر أمانًا من التحقق الشخصي.