> ## 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.

# Redes de Travel Rule y su estado

> Didit muestra a qué llega hoy cada canal y red de Travel Rule, qué necesitas de tu lado y qué espera una membresía que Didit aún no tiene.

Un intercambio de [Travel Rule](https://docs.didit.me/es/transaction-monitoring/travel-rule.md) llega al VASP de la contraparte a través de un único canal. Tres canales no requieren membresía en ninguna red: `INTERNAL` entre dos clientes de Didit, el protocolo abierto Travel Rule Protocol (`TRP`) y `EMAIL`. Los cuatro canales de red (`GTR`, `TRUST`, `VERIFYVASP`, `SYGNA`) requieren una membresía en esa red por parte del emisor.

Esta página explica lo que hace cada uno hoy, para que sepas dónde puedes contactar con tus contrapartes antes de depender de una ruta.

> [!WARNING]
>
> **Didit todavía no tiene una membresía activa en ninguna red de Travel Rule.** Hoy, un canal de red solo funciona con una membresía que conectes tú mismo en el **Marketplace** de la consola. Nada llega a una contraparte en GTR, TRUST, VerifyVASP o Sygna Bridge a través de la membresía propia de Didit, y esta página se actualizará el día en que eso cambie.

## Estado de un vistazo

| Canal | Qué necesitas | Envío a una contraparte | Recepción desde una contraparte |
| - | - | - | - |
| `INTERNAL` | Nada | Funciona | Funciona |
| `TRP` | Nada | Funciona cuando la contraparte responde de inmediato | Aún no disponible |
| `EMAIL` | Una dirección de cumplimiento | Funciona | No es un canal de recepción |
| `GTR` | Tu propia membresía | Implementado, aún sin probar en producción | Aún no activado |
| `VERIFYVASP` | Tu propia membresía | Implementado, aún sin probar en producción | Aún no activado |
| `SYGNA` | Tu propia membresía | Implementado, aún sin probar en producción | Aún no activado |
| `TRUST` | Tu propia membresía | Solo envía, nunca se completa | No disponible |
| CODE, TRISA, Notabene, Veriscope | - | No integrado | No integrado |

"Funciona" significa que Didit envía el intercambio y lee la respuesta. "Implementado, aún sin probar en producción" significa que Didit envía el intercambio y lee la respuesta de la red, pero todavía ningún intercambio por esa red se ha completado con una red en producción. Ninguno de los dos implica que se pueda llegar a una contraparte concreta: eso depende de la contraparte, y las `routes` de cada VASP en el [directorio](https://docs.didit.me/es/transaction-monitoring/travel-rule.md#directorio) indican qué canales puede usar hoy tu aplicación para ese VASP.

`EMAIL` solo transporta tus solicitudes salientes: la página de respuesta es donde una contraparte responde a una de ellas, y ningún VASP puede enviarte una transferencia por correo electrónico.

Antes de confiar en GTR, VerifyVASP, Sygna Bridge o TRUST, conecta tu membresía y realiza un primer intercambio con una contraparte que conozcas.

## Canales que no requieren membresía

### INTERNAL

Ambos VASP operan en Didit, así que el intercambio se liquida dentro de la plataforma sin ninguna llamada saliente. El destinatario debe ser un cliente activo de Didit con Travel Rule activado que haya demostrado el control de la wallet de destino con un mensaje firmado o un depósito de prueba. Una wallet autodeclarada, respaldada solo por una captura de pantalla o sin verificar no recibe nada. Consulta [Enviar una transferencia](https://docs.didit.me/es/transaction-monitoring/travel-rule.md#enviar-una-transferencia).

### TRP

Didit habla de forma nativa el Travel Rule Protocol. Una transferencia se envía por `TRP` cuando incluye la travel address de la contraparte, cuando la entrada de la libreta de direcciones de la wallet de destino almacena una, o cuando la contraparte se resuelve en el directorio con un endpoint TRP verificado por el directorio.

Todo intercambio TRP que no termina en una sola llamada necesita el host TRP público de Didit, que es al que apuntan las travel addresses:

* **Envío.** Una contraparte que responde a tu consulta de inmediato, en su respuesta, completa o rechaza la transferencia. Una contraparte que responde más tarde publica su respuesta en el host TRP de Didit, por lo que ese intercambio no puede completarse hasta que el host esté activo; la transferencia queda en espera y expira al alcanzar su fecha límite. Didit envía la consulta una sola vez y no la reintenta: cuando no se puede llegar al host TRP de la contraparte o este rechaza la consulta, la transferencia pasa a `COUNTERPARTY_VASP_NOT_REACHABLE` de inmediato, y puedes reintentarla con `action: "resend"`.
* **Recepción.** Otros VASP te contactan en tu travel address en ese host, así que ninguna contraparte puede enviarte una consulta TRP hasta que esté activo.

El host TRP público de Didit todavía no ofrece estos endpoints. [Interoperabilidad de Travel Rule](https://docs.didit.me/es/transaction-monitoring/travel-rule-interoperability.md) documenta los endpoints que invocarán las contrapartes cuando los ofrezca.

### EMAIL

Cuando ningún protocolo llega a la contraparte, Didit envía por correo electrónico a los contactos de cumplimiento de la contraparte un enlace de un solo uso a una página alojada donde aceptan o rechazan la transferencia. No necesitan ninguna cuenta ni integración por su parte. Consulta [Recogida por correo electrónico](https://docs.didit.me/es/transaction-monitoring/travel-rule.md#recogida-por-correo-electrónico-para-contrapartes-inalcanzables).

## Vías de red

### Con tu propia membresía

Conecta tu propia membresía en el **Marketplace** de la consola (categoría de redes de Travel Rule). A partir de ese momento, tus transferencias viajan con tu propia identidad en la red, y una membresía conectada siempre tiene prioridad sobre la de Didit.

| Red | Qué pide el Marketplace | Cómo llega a Didit la respuesta de la contraparte |
| - | - | - |
| `GTR` | URL base de la API, código VASP de GTR, clave de acceso, clave secreta y la clave privada ed25519 (base64) cuya clave pública está registrada en el portal de GTR | En la respuesta de GTR a la solicitud, o consultando el estado de la solicitud cada 5 minutos mientras la transferencia espera |
| `VERIFYVASP` | La URL de tu propio Enclave de VerifyVASP, tu ID de VerifyVASP y el token que tu Enclave presenta a Didit | Consultando el estado de la verificación cada 5 minutos |
| `SYGNA` | Código VASP de Sygna, clave de API y clave privada de firma. La URL base de la API es opcional: déjala en blanco para usar Sygna Bridge en producción | Consultando el estado de la transferencia cada 5 minutos. El callback de permiso de Sygna apunta al host TRP público de Didit, que todavía no está activo, así que hoy la consulta periódica es la única forma en que la respuesta llega a Didit |
| `TRUST` | URL base, ID de miembro de TRUST y clave de API. Una clave privada de cifrado X25519 (hex) es opcional | Nunca: TRUST no devuelve nada que Didit pueda leer, así que una transferencia entregada espera hasta que vence su plazo |

GTR, TRUST y VerifyVASP también admiten, de forma opcional, un certificado de cliente de TLS mutuo, una clave de cliente y un paquete de CA (PEM), para una membresía que use TLS mutuo o una CA privada.

* Didit envía en segundo plano y reintenta con una red que no responde o que responde con un fallo temporal (sin respuesta a tiempo, una conexión fallida, HTTP `408`, `429` o `5xx`): a los 30 segundos y después a los 2, 10, 30 y 60 minutos. Tras el sexto intento fallido, la transferencia pasa a `COUNTERPARTY_VASP_NOT_REACHABLE`. Un rechazo, como otra respuesta `4xx` o una redirección, no se reintenta: la transferencia pasa a `COUNTERPARTY_VASP_NOT_REACHABLE` de inmediato.
* Una transferencia cuya respuesta nunca llega espera en `AWAITING_COUNTERPARTY` hasta que transcurre `confirmation_timeout_hours`; entonces expira y se aplica tu `timeout_outcome`.
* La recepción de una transferencia que otro VASP te envía por GTR, VerifyVASP o Sygna Bridge todavía no está activada: Didit la activa red por red y, hasta entonces, esas redes no pueden entregarte una transferencia.
* Al guardar una membresía, se devuelve `400` cuando su código de participante es el propio código de Didit en esa red, o un código que ya tiene otra aplicación.
* Las solicitudes a una red solo envían tus credenciales al host propio de esa red y nunca siguen una redirección. El paquete de datos de TRUST llega al beneficiario sin tu clave de API, tu ID de miembro ni tu certificado de cliente.

### A través de la membresía de Didit

Cuando Didit tenga membresía en una red, un cliente que no tenga la suya podrá acceder a la red como participante propio dentro de la membresía de Didit, con el código de participante que le asigne la red: los mensajes salientes llevan tu código, nunca el de Didit. Esto solo se ofrece para GTR y Sygna Bridge. TRUST admite miembros un VASP a la vez y un Enclave de VerifyVASP da servicio a un solo VASP, así que a ambas solo se accede con tu propia membresía.

Unirse requiere tres pasos: responder el cuestionario de diligencia debida de redes de Didit, obtener la aprobación de Didit y, después, solicitar la red. Didit te registra en la red, y tu participante se activa en cuanto la red le asigna un código.

Este flujo todavía no está abierto. Hasta que lo esté, guardar o enviar el cuestionario y solicitar una red responden `403` con `code: travel_rule_platform_networks_disabled`, y `GET /v3/travel-rule/networks/` indica `platform_networks_enabled: false`.

## Cómo leer el estado de tu aplicación

`GET /v3/travel-rule/settings/` y `GET /v3/travel-rule/networks/` devuelven `networks`, con las claves `gtr`, `trust`, `verifyvasp` y `sygna`. Cada entrada indica lo que la red puede hacer hoy por tu aplicación:

| `state` | `reason` | Significado |
| - | - | - |
| `own_membership` | `own_membership_connected` | Conectaste tu propia membresía. En una aplicación en producción, envía en tu nombre. |
| `live_through_didit` | `participant_active` | La membresía de Didit incluye tu aplicación como su propio participante activo. |
| `off` | `platform_network_switched_off` | Desactivaste la red en `disabled_networks`. |
| `didit_onboarding` | `didit_membership_not_live` | La propia membresía de Didit en la red todavía no está activa. |
| `questionnaire_needed` | `questionnaire_not_submitted`, `questionnaire_changes_requested` | El cuestionario de la red de Didit no se ha enviado, o Didit solicitó cambios. |
| `questionnaire_in_review` | `questionnaire_submitted` | Didit está revisando tu cuestionario. |
| `request_access` | `participant_not_requested` | Tu cuestionario está aprobado: solicita acceso a la red. |
| `request_sent` | `questionnaire_pending`, `submitted_to_network` | Tu solicitud está a la espera de que Didit te registre, o del onboarding de la red. |
| `unavailable` | `own_membership_only`, `sandbox_application`, `questionnaire_rejected`, `participant_suspended`, `participant_rejected` | No se puede enviar nada por esta red para tu aplicación: a TRUST y VerifyVASP solo se accede con tu propia membresía, Didit nunca registra una aplicación de sandbox en una red, Didit rechazó tu cuestionario, o la red suspendió o rechazó a tu participante. |
| `error` | `provisioning_failed`, `participant_key_missing`, `participant_key_unresolved` | La red rechazó tu registro, o falta la clave que necesita tu participante. Si vuelves a solicitar acceso a la red, se reintenta el registro. |

`mode` resume el estado como `own`, `didit`, `off` o `unavailable`. Primero se comprueba tu propia membresía, luego `disabled_networks` y después la membresía de Didit. Hoy, una red muestra `own_membership` en cuanto conectas tu propia membresía. De lo contrario, GTR y Sygna Bridge muestran `didit_onboarding` (`unavailable` con `sandbox_application` en una aplicación de sandbox), y TRUST y VerifyVASP muestran `unavailable` con `own_membership_only`, también en sandbox.

Una aplicación de sandbox nunca envía por una red, aunque tenga tu propia membresía conectada y muestre `own_membership`: sus transferencias van al [Didit Test VASP](https://docs.didit.me/es/transaction-monitoring/travel-rule-sandbox.md).

`connected` significa que tu membresía guardada superó la validación local, no que un intercambio se haya completado con éxito. El primer intercambio en producción la valida frente a la red.

## Qué cambia cuando una red pasa a producción

Esta página, el estado de `networks` y cada ruta del directorio cambian a la vez. En tu integración no cambia nada: una transferencia empieza a enrutarse por la red en cuanto tu aplicación tiene una membresía en ella, en el orden de las vías descritas en [Cómo enruta Didit un intercambio](https://docs.didit.me/es/transaction-monitoring/travel-rule-interoperability.md#cómo-didit-enruta-transferencias-a-un-exchange).

Para pedir una red a la que Didit todavía no llega, usa su tarjeta **Solicitar acceso** en el **Marketplace**. Cada solicitud muestra su estado (**Abierto**, **Contactado**, **En curso**, **Producción** o **Rechazado**) junto con la nota más reciente de Didit. Cuando Didit cambia el estado o la nota, envía un correo electrónico al miembro del equipo que hizo la solicitud, mientras siga en tu organización. Una solicitud hecha con una clave de API no genera ningún correo electrónico, así que haz su seguimiento en el **Marketplace**.

## Próximos pasos

> [card] [Travel Rule](https://docs.didit.me/es/transaction-monitoring/travel-rule.md)
>
> El ciclo de vida del intercambio, la configuración, las vías y la API /v3/.

> [card] [Prueba en sandbox](https://docs.didit.me/es/transaction-monitoring/travel-rule-sandbox.md)
>
> Prueba todos los resultados posibles con el Didit Test VASP antes de pasar a producción.

> [card] [Interoperabilidad](https://docs.didit.me/es/transaction-monitoring/travel-rule-interoperability.md)
>
> Los endpoints que usan los VASP de contraparte para comunicarse contigo.

> [card] [Directorio](https://docs.didit.me/es/transaction-monitoring/travel-rule.md#directorio)
>
> Encuentra un VASP y las rutas que tu aplicación puede usar para comunicarse con él.


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