Quand l’utiliser
Le filtrage des portefeuilles n’écrit rien dans la table des transactions. Si vous voulez rattacher l’analyse à une transaction surveillée (avec règles, alertes et webhooks), soumettez plutôt une transaction.
Prérequis
La surveillance des transactions doit être configurée pour l’application, avec un fournisseur géré ou une clé de fournisseur existante. Configurez-la dans Transactions > Paramètres > Provider Preferences de la Business Console. Si aucun fournisseur n’est configuré, l’endpoint renvoie409 Conflict.
Requête
POST https://verification.didit.me/v3/wallet-screening/
Authentifiez-vous avec l’en-tête x-api-key.
Couverture des chaînes
Le filtrage géré prend en charge Base (BASE), Optimism (OP) et Arbitrum One (ARB) pour le filtrage des portefeuilles et des hachages de transaction.
La couverture des fournisseurs connectés peut varier ; une chaîne doit aussi être prise en charge par votre fournisseur et votre compte sélectionnés.
Celo (CELO), Mode (MODE) et Plume (PLUME) font l’objet d’un filtrage via un compte TRM Labs connecté (Marketplace, avec votre propre clé) ; l’analyse gérée ne les couvre pas et renvoie 400.
N’envoyez pas ETH pour un autre réseau EVM : la même adresse peut avoir une activité et un risque différents sur chaque chaîne.
Avec l’analyse gérée, USDT et USDC sont des alias hérités pour Ethereum, et non une recherche sur tous les réseaux où ces jetons existent.
Utilisez l’identifiant de réseau (ETH, TRX, SOL, MATIC, BNB, BASE, OP, ARB, AVAX, ADA, XLM, HBAR, ou avec TRM Labs CELO, MODE ou PLUME) correspondant à la chaîne réelle du portefeuille.
Pour les jetons des transactions enregistrées, conservez le jeton dans transaction_details.currency et indiquez le réseau séparément dans transaction_details.crypto_params.crypto_chain.
Voir sélection de l’actif et du réseau.
Réponse
La réponse est le résultat de filtrage standardisé. Sa structure est identique à celle du résultat du fournisseurWALLET_SCREENING renvoyé par le filtrage des transactions.
Comment
severity est défini. severity correspond à la tranche du risk_score normalisé : 0-9 → UNKNOWN, 10-39 → LOW, 40-69 → MEDIUM, 70-89 → HIGH, 90-100 → CRITICAL. UNKNOWN est la tranche la plus basse, et non un état distinct « aucune donnée ». risk_score: 0 (le cas courant d’une adresse saine) signifie que le fournisseur n’a fourni aucune évaluation défavorable, tandis qu’une valeur non nulle dans la plage 1-9 est un signal réel mais inférieur à LOW : lisez donc le risk_score lui-même, et pas seulement la tranche. Dans tous les cas, n’affichez pas UNKNOWN comme un résultat « clair » ou validé.direction ne modifie pas le modèle de risque. Le champ facultatif direction est transmis au fournisseur uniquement à titre de contexte. Il n’affecte ni risk_score, ni severity, ni les listes de détail renvoyées : source_of_funds et destination_of_funds sont toujours renvoyées. Modifier ou omettre direction ne nécessite donc pas de réanalyser une adresse déjà analysée.Facteurs de risque
risk_factors est la réponse hiérarchisée à la question « pourquoi cette adresse reçoit-elle ce score ». Les fournisseurs notent une adresse selon leur propre modèle et ne renvoient qu’un verdict (Merkle Science renvoie un entier 0-5), si bien que risk_score seul ne permet pas d’agir. Chaque entrée décrit un facteur, les facteurs à haut risque étant classés en premier, puis les autres selon le montant qui y a transité.
Un score élevé sans facteur
is_high_risk est un résultat réel et significatif. Cela signifie que le fournisseur a noté l’adresse selon son propre modèle d’exposition, sans signaler de correspondance avec des sanctions, une PEP ou une entité attribuée. Les facteurs listés sont les flux de fonds à l’origine de la note. summary l’indique explicitement : traitez donc ces adresses comme « nécessitant un examen des flux », et non comme une correspondance confirmée. risk_factors est limité aux cinq facteurs les plus déterminants ; source_of_funds et destination_of_funds contiennent toujours le détail complet.risk_factors est un champ de premier niveau, et non imbriqué. Les résultats filtrés avant son introduction omettent entièrement la clé : lisez-la comme une liste vide plutôt que de supposer une explication vide.
Répartition de l’exposition
Chaque entrée desource_of_funds / destination_of_funds décrit une entité avec laquelle l’adresse a échangé des fonds :
Connexions de contreparties
counterparty_connections répertorie les entités auxquelles le prestataire attribue l’adresse analysée. Pour Merkle Science, ces entités proviennent des étiquettes de propriétaire et d’utilisateur de l’adresse elle-même, de sorte que la même entité peut apparaître deux fois. Elles ne contiennent aucun flux de fonds : received_usd, sent_usd, received_hops et sent_hops valent null, et percentage vaut 0.0. Lisez les flux de fonds dans source_of_funds et destination_of_funds.
Exemple
Une réponse réelle pour une adresse figurant sur la liste de sanctions OFAC, filtrée avec Merkle Science. Seulsraw_response et report_signature ont été modifiés : le premier a été raccourci et la seconde remplacée :
sanctions_hit: true peut indiquer que le portefeuille lui-même est sous sanctions, ou seulement que ses fonds présentent une exposition aux sanctions. Cela ne signifie donc pas à lui seul que le titulaire du portefeuille analysé est sous sanctions.
Lorsque le même filtrage s’exécute sur une transaction enregistrée, les règles peuvent aussi lire custom_values.wallet_sanctioned, qui n’est true que si le prestataire attribue le portefeuille lui-même à une entité sous sanctions, ainsi que custom_values.aml_sanctions_exposure_pct.
Voir Champs de filtrage pour les règles.
Lisez risk_factors, source_of_funds et destination_of_funds pour distinguer l’attribution de l’exposition.
Voir Filtrage crypto et des portefeuilles pour un guide pas à pas.
Rapport PDF
Pour obtenir un PDF aux couleurs de Didit d’un résultat de filtrage, renvoyez à l’identique le corps de la réponse, y comprisreport_signature, à POST /v3/wallet-screening/pdf/. Cette opération est sans état : aucun appel au prestataire, aucune facturation supplémentaire, et rien n’est conservé. Toute modification d’un champ signé (risk_score, severity, sanctions_hit, …) avant le renvoi échoue avec 400.
Facturation
Une utilisation de la surveillance AML est facturée par filtrage réussi, au même tarif que le filtrage crypto couplé aux transactions. Consultez tarifs pour les tarifs en mode géré et avec clé connectée. Les applications sandbox ne sont pas facturées. Les erreurs de validation (400) et les erreurs de fournisseur non configuré (409) ne sont jamais facturées.
Erreurs
Étapes suivantes
Référence de l'API
Schéma complet de la requête et de la réponse pour l’endpoint Screen Wallet.
PDF Screen Wallet
Générez le résultat d’un filtrage sous la forme d’un PDF aux couleurs de Didit.
Filtrage crypto et des portefeuilles
Filtrage automatique lors de la création d’une transaction, et modèle de résultat.