> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Réseaux Travel Rule : statut et couverture

> Découvrez ce que chaque réseau Travel Rule couvre aujourd'hui, ce qu'il exige de votre côté et ce qui attend une adhésion que Didit ne détient pas encore.

Un échange [Travel Rule](https://docs.didit.me/fr/transaction-monitoring/travel-rule.md) atteint le VASP de la contrepartie via un seul canal. Trois canaux ne nécessitent aucune adhésion : `INTERNAL` entre deux clients Didit, le protocole ouvert Travel Rule Protocol (`TRP`) et `EMAIL`. Les quatre canaux de réseau (`GTR`, `TRUST`, `VERIFYVASP`, `SYGNA`) exigent une adhésion à ce réseau du côté émetteur.

Cette page indique ce que fait chacun de ces canaux aujourd'hui, afin que vous sachiez où vos contreparties sont joignables avant de dépendre d'une route.

> [!WARNING]
>
> **Didit ne détient pas encore d'adhésion active à un réseau Travel Rule.** Un canal de réseau ne fonctionne aujourd'hui qu'avec une adhésion que vous connectez vous-même dans le **Marketplace** de la console. Rien n'atteint une contrepartie sur GTR, TRUST, VerifyVASP ou Sygna Bridge par l'intermédiaire de l'adhésion propre de Didit, et cette page changera le jour où ce sera le cas.

## Statut en un coup d'œil

| Canal | Ce qu'il vous faut | Envoi à une contrepartie | Réception depuis une contrepartie |
| - | - | - | - |
| `INTERNAL` | Rien | Fonctionne | Fonctionne |
| `TRP` | Rien | Fonctionne lorsque la contrepartie répond immédiatement | Pas encore disponible |
| `EMAIL` | Une adresse de conformité | Fonctionne | Ce n'est pas un canal de réception |
| `GTR` | Votre propre adhésion | Implémenté, pas encore éprouvé en production | Pas encore activé |
| `VERIFYVASP` | Votre propre adhésion | Implémenté, pas encore éprouvé en production | Pas encore activé |
| `SYGNA` | Votre propre adhésion | Implémenté, pas encore éprouvé en production | Pas encore activé |
| `TRUST` | Votre propre adhésion | Envoi uniquement, ne se termine jamais | Non disponible |
| CODE, TRISA, Notabene, Veriscope | - | Non intégrés | Non intégrés |

« Fonctionne » signifie que Didit envoie l'échange et lit la réponse. « Implémenté, pas encore éprouvé en production » signifie que Didit envoie l'échange et lit la réponse du réseau, mais qu'aucun échange sur ce réseau n'a encore abouti sur un réseau en production. Aucune de ces mentions ne signifie qu'une contrepartie donnée est joignable : cela dépend de la contrepartie, et les `routes` de chaque VASP dans l'[annuaire](https://docs.didit.me/fr/transaction-monitoring/travel-rule.md#annuaire) indiquent quels canaux votre application peut utiliser pour elle aujourd'hui.

`EMAIL` ne transporte que vos demandes sortantes : la page de réponse est l'endroit où une contrepartie répond à l'une d'elles, et aucun VASP ne peut vous envoyer un transfert par e-mail.

Avant de vous appuyer sur GTR, VerifyVASP, Sygna Bridge ou TRUST, connectez votre adhésion et effectuez un premier échange avec une contrepartie que vous connaissez.

## Canaux sans adhésion

### INTERNAL

Les deux VASP fonctionnent sur Didit, donc l'échange est réglé au sein de la plateforme, sans appel sortant. Le destinataire doit être un client Didit actif, avec la Travel Rule activée, qui a prouvé le contrôle du portefeuille de destination par un message signé ou un dépôt de test. Un portefeuille déclaré sans preuve, présenté uniquement par capture d'écran ou non vérifié, ne reçoit rien. Voir [Envoi d'un transfert](https://docs.didit.me/fr/transaction-monitoring/travel-rule.md#envoyer-un-transfert).

### TRP

Didit prend nativement en charge le protocole Travel Rule Protocol. Un transfert passe par `TRP` lorsqu'il comporte la Travel Address de la contrepartie, lorsque l'entrée du carnet d'adresses du portefeuille de destination en contient une, ou lorsque la contrepartie est trouvée dans l'annuaire avec un endpoint TRP que l'annuaire a vérifié.

Tout échange TRP qui ne se termine pas en un seul appel nécessite l'hôte TRP public de Didit, celui vers lequel pointent les Travel Address :

* **Envoi.** Une contrepartie qui répond à votre demande immédiatement, dans sa réponse, termine ou refuse le transfert. Une contrepartie qui répond plus tard publie sa réponse sur l'hôte TRP de Didit ; cet échange ne peut donc pas aboutir tant que l'hôte n'est pas en service : le transfert attend et expire à son échéance. Didit envoie la demande une seule fois et ne réessaie pas : lorsque l'hôte TRP de la contrepartie est injoignable ou refuse la demande, le transfert passe immédiatement au statut `COUNTERPARTY_VASP_NOT_REACHABLE`, et vous pouvez le réessayer avec `action: "resend"`.
* **Réception.** D'autres VASP vous joignent via votre Travel Address sur cet hôte ; aucune contrepartie ne peut donc vous envoyer une demande TRP tant que celui-ci n'est pas en service.

L'hôte TRP public de Didit n'expose pas encore ces endpoints. [Interopérabilité Travel Rule](https://docs.didit.me/fr/transaction-monitoring/travel-rule-interoperability.md) documente les endpoints que les contreparties appellent une fois qu'il le fera.

### EMAIL

Lorsqu'aucun protocole n'atteint la contrepartie, Didit envoie aux adresses de conformité de celle-ci un lien à usage unique vers une page hébergée, où la contrepartie accepte ou refuse. Aucun compte ni aucune intégration n'est nécessaire de leur côté. Voir [Récupération par e-mail](https://docs.didit.me/fr/transaction-monitoring/travel-rule.md#récupération-par-e-mail-pour-les-contreparties-injoignables).

## Canaux réseau

### Avec votre propre adhésion

Connectez votre propre adhésion dans le **Marketplace** de la console (catégorie Travel Rule networks). Vos transferts transitent alors sous votre propre identité de réseau, et une adhésion connectée prime toujours sur celle de Didit.

| Réseau | Ce que demande le Marketplace | Comment la réponse de la contrepartie parvient à Didit |
| - | - | - |
| `GTR` | URL de base de l'API, code VASP GTR, clé d'accès, clé secrète et clé privée ed25519 (base64) dont la clé publique est enregistrée dans le portail de GTR | Dans la réponse de GTR à la requête, ou par interrogation du statut de la requête toutes les 5 minutes pendant que le transfert est en attente |
| `VERIFYVASP` | L'URL de votre propre Enclave VerifyVASP, votre identifiant VerifyVASP et le token que votre Enclave présente à Didit | Par interrogation du statut de la vérification toutes les 5 minutes |
| `SYGNA` | Code VASP Sygna, clé API et clé privée de signature. L'URL de base de l'API est facultative : laissez-la vide pour le Sygna Bridge de production | Par interrogation du statut du transfert toutes les 5 minutes. Le callback d'autorisation de Sygna pointe vers l'hôte TRP public de Didit, qui n'est pas encore en service ; l'interrogation est donc aujourd'hui le seul moyen pour que la réponse parvienne à Didit |
| `TRUST` | URL de base, identifiant de membre TRUST et clé API. Une clé privée de chiffrement X25519 (hexadécimal) est facultative | Jamais : TRUST ne renvoie rien que Didit puisse lire, si bien qu'un transfert livré reste en attente jusqu'à l'expiration de son délai, qui le fait expirer |

GTR, TRUST et VerifyVASP acceptent aussi, en option, un certificat client TLS mutuel, une clé client et un bundle d'autorités de certification (PEM), pour une adhésion qui utilise le TLS mutuel ou une autorité de certification privée.

* Didit envoie en arrière-plan et réessaie lorsqu'un réseau ne répond pas, ou répond par une erreur temporaire (pas de réponse à temps, connexion échouée, HTTP `408`, `429` ou `5xx`) : après 30 secondes, puis après 2, 10, 30 et 60 minutes. Après la sixième tentative échouée, le transfert passe à `COUNTERPARTY_VASP_NOT_REACHABLE`. Un refus, comme une autre réponse `4xx` ou une redirection, n'est pas réessayé : le transfert passe immédiatement à `COUNTERPARTY_VASP_NOT_REACHABLE`.
* Un transfert dont la réponse n'arrive jamais reste en `AWAITING_COUNTERPARTY` jusqu'à ce que `confirmation_timeout_hours` soit écoulé, puis expire et applique votre `timeout_outcome`.
* La réception d'un transfert qu'un autre VASP vous envoie via GTR, VerifyVASP ou Sygna Bridge n'est pas encore activée : Didit l'active réseau par réseau, et jusqu'à cette activation, ces réseaux ne peuvent pas vous livrer de transfert.
* L'enregistrement d'une adhésion renvoie `400` lorsque son code de participant est le code propre de Didit sur ce réseau, ou un code déjà détenu par une autre application.
* Les requêtes réseau ne transmettent vos identifiants qu'à l'hôte propre de ce réseau et ne suivent jamais une redirection. Le paquet de données TRUST est envoyé au bénéficiaire sans votre clé API, votre identifiant de membre ni votre certificat client.

### Via l'adhésion de Didit

Une fois que Didit détient une adhésion à un réseau, un client qui n'en a pas peut atteindre ce réseau en tant que votre propre participant, via l'adhésion de Didit, avec le code de participant que lui attribue le réseau : les messages sortants mentionnent votre code, jamais celui de Didit. Cette option n'est proposée que pour GTR et Sygna Bridge. TRUST admet les membres un VASP à la fois, et une Enclave VerifyVASP ne sert qu'un seul VASP : ces deux réseaux ne sont donc accessibles qu'avec votre propre adhésion.

L'adhésion comporte trois étapes : répondre au questionnaire de diligence raisonnable du réseau de Didit, faire approuver ce questionnaire par Didit, puis demander l'accès au réseau. Didit vous enregistre auprès du réseau, et votre participant devient actif dès que le réseau lui attribue un code.

Ce parcours n'est pas encore ouvert. Tant qu'il ne l'est pas, l'enregistrement ou la soumission du questionnaire et la demande d'accès à un réseau renvoient `403` avec `code: travel_rule_platform_networks_disabled`, et `GET /v3/travel-rule/networks/` indique `platform_networks_enabled: false`.

## Lire le statut de votre application

`GET /v3/travel-rule/settings/` et `GET /v3/travel-rule/networks/` renvoient `networks`, indexé par `gtr`, `trust`, `verifyvasp` et `sygna`. Chaque entrée indique ce que le réseau peut faire pour votre application aujourd'hui :

| `state` | `reason` | Signification |
| - | - | - |
| `own_membership` | `own_membership_connected` | Vous avez connecté votre propre adhésion. Sur une application en production, elle envoie pour vous. |
| `live_through_didit` | `participant_active` | L'adhésion de Didit porte votre application comme son propre participant actif. |
| `off` | `platform_network_switched_off` | Vous avez désactivé le réseau dans `disabled_networks`. |
| `didit_onboarding` | `didit_membership_not_live` | L'adhésion de Didit à ce réseau n'est pas encore en production. |
| `questionnaire_needed` | `questionnaire_not_submitted`, `questionnaire_changes_requested` | Le questionnaire de Didit sur le réseau n'a pas été soumis, ou Didit a demandé des modifications. |
| `questionnaire_in_review` | `questionnaire_submitted` | Didit examine votre questionnaire. |
| `request_access` | `participant_not_requested` | Votre questionnaire est approuvé : demandez l'accès au réseau. |
| `request_sent` | `questionnaire_pending`, `submitted_to_network` | Votre demande attend que Didit vous enregistre, ou que le réseau effectue son onboarding. |
| `unavailable` | `own_membership_only`, `sandbox_application`, `questionnaire_rejected`, `participant_suspended`, `participant_rejected` | Rien ne peut envoyer sur ce réseau pour votre application : TRUST et VerifyVASP ne sont accessibles qu'avec votre propre adhésion, Didit n'enregistre jamais une application sandbox sur un réseau, Didit a refusé votre questionnaire, ou le réseau a suspendu ou rejeté votre participant. |
| `error` | `provisioning_failed`, `participant_key_missing`, `participant_key_unresolved` | Le réseau a refusé votre enregistrement, ou la clé dont votre participant a besoin est manquante. Demander à nouveau l'accès au réseau relance la tentative. |

`mode` résume l'état sous la forme `own`, `didit`, `off` ou `unavailable`. Votre propre adhésion est vérifiée en premier, puis `disabled_networks`, puis l'adhésion de Didit. Aujourd'hui, un réseau affiche `own_membership` dès que vous connectez votre propre adhésion. Sinon, GTR et Sygna Bridge affichent `didit_onboarding` (`unavailable` avec `sandbox_application` sur une application sandbox), et TRUST et VerifyVASP affichent `unavailable` avec `own_membership_only`, y compris en sandbox.

Une application sandbox n'envoie jamais de transfert sur un réseau, même avec votre propre adhésion connectée et l'état `own_membership` : ses transferts sont dirigés vers le [Didit Test VASP](https://docs.didit.me/fr/transaction-monitoring/travel-rule-sandbox.md).

`connected` signifie que votre adhésion enregistrée a passé la validation locale, et non qu'un échange a réussi. Le premier échange en production le confirme auprès du réseau.

## Ce qui change lorsqu'un réseau passe en production

Cette page, le statut `networks` et toutes les routes de l'annuaire changent ensemble. Rien ne change dans votre intégration : un transfert commence à être acheminé via le réseau dès que votre application dispose d'une adhésion à celui-ci, selon l'ordre des rails décrit dans [Comment Didit achemine un échange](https://docs.didit.me/fr/transaction-monitoring/travel-rule-interoperability.md#comment-didit-achemine-une-plateforme-d’échange).

Pour demander l'accès à un réseau que Didit n'atteint pas encore, utilisez sa vignette **Demander l'accès** dans la **Marketplace**. Chaque demande affiche son statut (**Ouverte**, **Contactée**, **En cours**, **En production** ou **Refusée**) accompagné de la dernière note de Didit. Lorsque Didit modifie le statut ou la note, il envoie un e-mail au coéquipier qui a fait la demande, tant que celui-ci fait partie de votre organisation. Une demande faite avec une clé API ne donne lieu à aucun e-mail : suivez-la dans la **Marketplace**.

## Étapes suivantes

> [card] [Travel Rule](https://docs.didit.me/fr/transaction-monitoring/travel-rule.md)
>
> Le cycle de vie des échanges, les paramètres, les rails et l'API /v3/.

> [card] [Tester en sandbox](https://docs.didit.me/fr/transaction-monitoring/travel-rule-sandbox.md)
>
> Testez chaque résultat avec le Didit Test VASP avant la mise en production.

> [card] [Interopérabilité](https://docs.didit.me/fr/transaction-monitoring/travel-rule-interoperability.md)
>
> Les endpoints que les VASP des contreparties utilisent pour vous joindre.

> [card] [Annuaire](https://docs.didit.me/fr/transaction-monitoring/travel-rule.md#annuaire)
>
> Trouvez un VASP et les routes que votre application peut utiliser pour lui.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.