الانتقال إلى المحتوى الرئيسي
فحص المحافظ الرقمية في Didit، ويُسمّى أيضًا فحص العناوين أو KYT (اعرف معاملتك)، يتحقق من عناوين المحافظ وتجزئات المعاملات لكل تحويل بالعملات الرقمية بحثًا عن مخاطر AML، ويعيد درجة المخاطر ومدى تعرّضها للمصادر عالية الخطورة وأي تطابقات مع العقوبات. بالنسبة لمعاملات العملات الرقمية، يمكن لـ Didit فحص عناوين المحافظ وتجزئات المعاملات باستخدام مزوّدي تحليلات البلوكتشين مثل Merkle Science وCrystal وChainalysis وElliptic وTRM Labs، وذلك أثناء إنشاء المعاملة. يعمل الفحص من جانب الخادم، ولا تحتاج إلى أي استدعاءات API إضافية من جهتك.
هل تحتاج إلى فحص عنوان دون معاملة؟ استخدم نقطة النهاية فحص المحافظ عند الطلب (POST /v3/wallet-screening/) للحصول على نتيجة المخاطر نفسها لمحفظة واحدة باستدعاء API واحد.

كيف يبدأ الفحص

يعمل فحص العملات الرقمية تلقائيًا عندما يتحقق الشرطان التاليان معًا:
  1. تحتوي المعاملة على currency_kind: "crypto" في تفاصيل المعاملة
  2. مراقبة المعاملات مفعّلة في إعدادات التطبيق لديك
يمكنك تجاوز هذا الإعداد الافتراضي لكل معاملة باستخدام include_crypto_screening في حمولة إنشاء المعاملة:
يقع الإعداد الافتراضي على مستوى التطبيق في المعاملات > الإعدادات في Business Console. لا يتجاوز include_crypto_screening هذا الإعداد الافتراضي إلا للمعاملة الواحدة التي تنشئها.

اختيار الأصل والشبكة

الأصل والشبكة حقلان منفصلان. اضبط transaction_details.currency على رمز الأصل، وtransaction_details.currency_kind على crypto، وtransaction_details.crypto_params.crypto_chain على الشبكة. على سبيل المثال، يسجّل هذا المقتطع رمزًا مخصصًا على Base:
يقبل الفحص المُدار الرموز BTC وETH وLTC وXRP وBCH وDOGE وTRX وSOL وMATIC وBNB وBASE وOP وARB وAVAX وADA وXLM وHBAR. تعني BASE شبكة Base، وتعني OP شبكة Optimism، وتعني ARB شبكة Arbitrum One، وتعني AVAX شبكة Avalanche C-Chain، وتعني ADA شبكة Cardano، وتعني XLM شبكة Stellar، وتعني HBAR شبكة Hedera. تُقبل أسماء الشبكات الشائعة أيضًا، مثل POLYGON أو POL لـ MATIC، وBSC لـ BNB، وTRON لـ TRX. لا يشمل التكامل المُدار شبكات Celo وMode وPlume؛ إذ يتم فحصها عبر حساب TRM Labs متصل (CELO وMODE وPLUME). يتمتع المزودون المتصلون بتغطية خاصة بهم، ولشبكة Lightning متطلبات إضافية موضحة أدناه. حدّد crypto_chain دائمًا للرمز، بما في ذلك USDT وUSDC. من دونه، تُستخدم العملة نفسها بوصفها الشبكة، وتأخذ USDT وUSDC شبكتيهما من تجزئة المعاملة، أو من عنوان المحفظة إن لم تكن هناك تجزئة. تجزئة Tron أو Solana تحدد الشبكة Tron أو Solana. تجزئة 0x تبدو متطابقة على كل شبكات EVM، لذلك يبحث Didit في حالة USDT وUSDC وETH عن التجزئة على Ethereum وBNB Chain وPolygon وBase وArbitrum وOptimism، ويفحص المعاملة على الشبكة التي يجدها فيها. يُدرج ETH لأنه أصلي على Ethereum وBase وArbitrum وOptimism، ويُحوَّل أيضًا على BNB Chain بوصفه رمز BEP-20 مجسرًا. إذا لم تحتوِ أي شبكة على التجزئة، أو تعذّر فحص الشبكات في تلك اللحظة، فلن تُفحص المعاملة ولن تُحتسب تكلفة الفحص. عندئذ تصبح custom_values.aml_screening_status القيمة FAILED، وتوضح custom_values.aml_screening_error السبب، وتنتقل المعاملة المقبولة إلى المراجعة. تفحص معاملة USDT أو USDC بلا تجزئة محفظةً، ويحدد عنوان المحفظة الشبكة. يُفحص عنوان Tron على Tron، وعنوان Solana على Solana. يُفحص عنوان 0x على أول شبكة من Ethereum وBNB Chain وPolygon وBase وArbitrum وOptimism أرسل منها معاملة أو يحتفظ فيها بالرمز. عنوان 0x ليس له أي نشاط على أيٍّ منها، أو تعذّر فحص الشبكات في تلك اللحظة، يُفحص على Ethereum. إرسال crypto_chain يتجنب عملية البحث. لا تستبدل ETH أبدًا بالشبكة الفعلية. تسجيل رمز مميّز مخصّص لا يضمن فهرسة تحويلاته لفحص تجزئة المعاملة. يجب التحقق من تغطية الرمز باستخدام عقد الرمز والشبكة. إنشاء المعاملة لا يُثبت نجاح الفحص: تحقق من حالة الفحص ونتيجة المزود قبل اعتبارها مفحوصة.

الوارد مقابل الصادر

الحقل transaction_details.direction إلزامي لأنه يحدد لـ Didit أي طرف في التحويل يجب فحصه. في الفحص قبل التحويل، لا ترسل transaction_details.payment_reference_id، وسيُجري Didit فحص المحفظة على عنوان المحفظة المعني. في الفحص بعد التحويل، أدرج تجزئة المعاملة على البلوكتشين في transaction_details.payment_reference_id، وسيُجري Didit فحص المعاملة ويخزّن ملخص بياناتها متى كان الإثراء على السلسلة متاحاً.

شبكة Lightning

اضبط transaction_details.crypto_params.crypto_chain على LIGHTNING لفحص شبكة Lightning. يتطلب فحص Lightning مزوّد Elliptic أو Chainalysis بمفتاح خاص بك (BYOK) متصلاً في Marketplace في الكونسول. لا تقبل Merkle Science المُدارة وCrystal وTRM Labs القيمة LIGHTNING، ويرفض Didit تلك الطلبات بالرمز 400 قبل الفحص أو الفوترة. بالنسبة إلى Elliptic، يفحص Didit معرّف Lightning المقدَّم عبر تحليل محفظة BTC Lightning من Elliptic. بالنسبة إلى Chainalysis، يرسل Didit تحويل Lightning إلى KYT عند وجود transaction_details.payment_reference_id.

الحقول المطلوبة

لجميع طلبات فحص العملات الرقمية، أرسل:
  • transaction_details.direction: INBOUND أو OUTBOUND
  • transaction_details.currency_kind: crypto
  • transaction_details.currency: رمز الأصل، مثلاً BTC أو ETH أو USDC أو الرمز المخصص لديك
  • عنوان محفظة لدى الطرف المحدَّد وفق قواعد الاتجاه أعلاه
لفحص تجزئة المعاملة بعد أن يصبح التحويل على السلسلة، أرسل أيضاً:
  • transaction_details.payment_reference_id: تجزئة المعاملة على البلوكتشين
إذا كان فحص العملات الرقمية مفعّلاً وعنوان المحفظة المطلوب للاتجاه غير موجود، يرفض Create Transaction API الطلب.

مثال: فحص صادر قبل التحويل

قبل إرسال الأموال، أنشئ معاملة عملات رقمية صادرة دون تجزئة للمعاملة. سيفحص Didit محفظة الوجهة.

مثال: فحص وارد بعد التحويل

بعد استلام الأموال، أدرج تجزئة المعاملة. سيفحص Didit تجزئة المعاملة ضمن نطاق عنوان الإيداع الخاص بك، ويُثري الاستجابة بمعلومات ملخص المعاملة حيثما كانت متاحة.

المزوّدون المدعومون

اضبط المزوّد المفضّل لديك من المعاملات > الإعدادات > تفضيلات المزوّد في Business Console، أو اربط مفتاح المزوّد الخاص بك من Marketplace في الكونسول (فئة مراقبة العملات الرقمية). تُدعم القيمة LIGHTNING فقط في إعدادات Chainalysis وElliptic بمفتاح متصل.
مع التسعير باستخدام مفتاح متصل، تربط مفتاح API موجوداً للمزوّد وتدفع رسوم البنية التحتية المعلنة لكل فحص. استخدم هذا الخيار عندما تكون لديك اتفاقية تجارية قائمة مع مزوّد تحليلات البلوكتشين.

نتائج الفحص

تُنتج كل عملية فحص نتيجة موحّدة بغض النظر عن المزوّد المستخدم.

حالة الفحص

يوضح لك الحقل custom_values.aml_screening_status ما إذا كانت المعاملة قد خضعت للفحص. تنتقل المعاملة التي كان من الممكن اعتمادها إلى IN_REVIEW ما دامت حالة فحصها أي شيء غير COMPLETED.

هاشات المعاملات غير المفهرسة بعد

قد تحتاج شركة تحليلات البلوكتشين إلى بضع دقائق لفهرسة تحويل تم تعدينه للتو، ولا يمكنها فحصه قبل ذلك. عندما يبلغ المزوّد بأنه لم يفهرس هاش المعاملة بعد، وتؤكد الشبكة نفسها وجود المعاملة، تعيد Didit فحصها في الخلفية بدلًا من اعتبارها فاشلة:
  • تُظهر استجابة الإنشاء بالفعل أن custom_values.aml_screening_status هي PENDING، مع السبب في custom_values.aml_screening_error. تُحتجز المعاملة التي كان سيُتخذ بحقها قرار بالموافقة في وضع IN_REVIEW مع decision_reason_code بالقيمة aml_screening_pending.
  • تعيد Didit فحص هاش المعاملة بعد نحو 2 و12 و42 دقيقة من إنشاء المعاملة.
  • عندما ينجح أحد عمليات إعادة الفحص، تُخزَّن النتيجة كأي نتيجة فحص أخرى، ويُحتسب الفحص مرة واحدة. تُعاد تشغيل قواعدك على بيانات الفحص، ويُرفع الإيقاف المؤقت، وتتلقى webhook واحدًا من نوع transaction.status.updated يحمل الحالة التي تصبح عليها المعاملة بعد تطبيق القواعد، سواء تغيّرت أم لم تتغيّر. المعاملة التي رُفضت أو حسمها مراجع في الأثناء تحتفظ بحالتها.
  • إذا لم يفهرس المزوّد هاش المعاملة بعد آخر محاولة إعادة، تنتهي عملية الفحص بحالة FAILED كما كانت ستنتهي عند الإنشاء: تبقى المعاملة في IN_REVIEW مع decision_reason_code بالقيمة aml_screening_failed، وتُفرض رسوم الفحص كما كانت ستُفرض لو فشل الفحص عند الإنشاء: لا يُحتسب شيء عن الفحص الذي تديره Didit، وطلب واحد لدى المزوّد المتصل بحسابك إذا وصلت المحاولة الأخيرة إليه. المحاولات السابقة التي أُعيد فيها الفحص لا تُحتسب أبدًا.
  • إذا لم يعد رصيدك يغطي تكلفة الفحص عند تشغيل إعادة المحاولة، تنتهي عملية الفحص بحالة FAILED ولا يُحتسب أي مبلغ.
تنطبق إعادة المحاولة على هاشات المعاملات في Ethereum وBNB Chain وPolygon وBase وArbitrum وOptimism وTron. أما الهاش الذي لا تتعرّف عليه شبكته، أو الهاش الموجود على شبكة أخرى، فلا تُعاد محاولته، ويفشل الفحص فورًا.

درجة المخاطر ومستوى الخطورة

تحصل كل محفظة أو معاملة تخضع للفحص على ما يلي:
  • درجة المخاطر (من 0 إلى 100): كلما ارتفعت الدرجة دلّ ذلك على تعرّض أكبر لجهات محفوفة بالمخاطر.
  • مستوى الخطورة: يُشتق من الدرجة، وقيمه LOW أو MEDIUM أو HIGH أو CRITICAL.

تحليل مصدر الأموال

تفصيل بنسب مئوية لمصدر الأموال، مصنّفًا حسب نوع الجهة: يتضمن كل كيان في التفصيل نسبة الأموال، والمبالغ المستلمة والمرسلة، وما إذا كانت الصلة مباشرة أو غير مباشرة.

جدول التعرّض

جدول يعرض الجهات المصدرة والمستلمة والأطراف المقابلة، ويتضمن:
  • اسم الجهة وفئتها
  • الصلة المباشرة أو غير المباشرة (عدد القفزات)
  • المبالغ المستلمة والمرسلة
  • مستوى المخاطر لكل جهة

مخطط الشبكة

تمثيل مرئي على شكل عُقد وحواف يبيّن علاقات معاملات المحفظة:
  • العُقد تمثّل المحافظ والمنصات والخدمات والجهات الأخرى.
  • الحواف تمثّل المعاملات بين العُقد، مع المبالغ وهاشات المعاملات.
  • المقاييس تتضمن إحصاءات على مستوى المخطط مثل المركزية والعمق.
يتوفر مخطط الشبكة في Business Console كتمثيل مرئي تفاعلي.

التكامل مع القواعد

تُرسَل نتائج الفحص مباشرةً إلى محرك القواعد. يتضمّن Didit قواعد مُعدّة مسبقاً تُفعَّل تلقائياً بناءً على بيانات الفحص:

حقول الفحص للقواعد

يكتب فحص العملات المشفّرة هذه المفاتيح في custom_values الخاصة بالمعاملة، لتتمكّن القواعد من استخدامها بالصيغة custom_values.<key>: استخدم wallet_sanctioned لحظر التحويلات إلى محفظة خاضعة للعقوبات دون رفض التحويلات إلى البورصات الكبرى التي لها تعرّض غير مباشر فقط. استخدم sanctions_hit أو aml_sanctions_exposure_pct لمراجعة التعرّض أو تقييمه. ترفض القاعدة المعدّة مسبقاً Sanctions counterparty المعاملة عندما تكون قيمة wallet_sanctioned هي true، وترسل القاعدة Sanctions exposure المحافظ التي لها تعرّض فقط إلى المراجعة. لا تنطبق القاعدتان على المعاملة نفسها أبداً، لذلك تُرفض المحفظة الخاضعة للعقوبات دائماً. إذا كنت قد ثبّتّ القاعدة Sanctions counterparty قبل هذا التغيير، فقد نقلها Didit إلى wallet_sanctioned تلقائياً، وأضاف القاعدة Sanctions exposure بالوضع نفسه، بحيث تنتقل المعاملة التي كانت القاعدة القديمة ترفضها بسبب التعرّض وحده إلى المراجعة بدلاً من ذلك. بعد اكتمال الفحص، يُعيد Didit تلقائياً تقييم جميع القواعد مقابل بيانات المعاملة المُثرّاة، ويُفعّل أي webhooks منطبقة.

الخطوات التالية

إرسال المعاملات

كيفية إرسال المعاملات، بما في ذلك تفاصيل المحفظة الرقمية للعملات المشفّرة.

القواعد والتقييم

كيف تُغذّي نتائج الفحص محرك القواعد.

دليل وحدة التحكم

عرض تحليل فحص العملات المشفّرة ومصدر الأموال ومخططات الشبكات في وحدة التحكم.
آخر تعديل في ٧ نوفمبر ٢٠٢٦