> ## 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 da Travel Rule: status e cobertura na Didit

> Quais redes e trilhos da Travel Rule a Didit já alcança, o que exigem de você e quais ainda dependem de uma adesão que a Didit não tem.

Uma troca de [Travel Rule](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule.md) chega à VASP da contraparte por um único canal. Três canais não exigem filiação a nenhuma rede: `INTERNAL`, entre dois clientes da Didit, o Travel Rule Protocol aberto (`TRP`) e `EMAIL`. Os quatro canais de rede (`GTR`, `TRUST`, `VERIFYVASP`, `SYGNA`) exigem que o lado remetente seja membro da respectiva rede.

Esta página explica o que cada trilho faz hoje, para que você saiba onde suas contrapartes podem ser alcançadas antes de depender de uma rota.

> [!WARNING]
>
> **A Didit ainda não tem filiação ativa em nenhuma rede de Travel Rule.** Hoje, um canal de rede só funciona com uma filiação que você mesmo configura no **Marketplace** do console. Nada chega a uma contraparte na GTR, TRUST, VerifyVASP ou Sygna Bridge pela filiação da própria Didit, e esta página será atualizada no dia em que isso acontecer.

## Status em resumo

| Trilho | O que você precisa | Envio para uma contraparte | Recebimento de uma contraparte |
| - | - | - | - |
| `INTERNAL` | Nada | Funciona | Funciona |
| `TRP` | Nada | Funciona quando a contraparte responde na hora | Ainda não disponível |
| `EMAIL` | Um endereço de conformidade | Funciona | Não é um canal de recebimento |
| `GTR` | Sua própria filiação | Implementado, ainda não comprovado em produção | Ainda não ativado |
| `VERIFYVASP` | Sua própria filiação | Implementado, ainda não comprovado em produção | Ainda não ativado |
| `SYGNA` | Sua própria filiação | Implementado, ainda não comprovado em produção | Ainda não ativado |
| `TRUST` | Sua própria filiação | Apenas envia, nunca conclui | Não disponível |
| CODE, TRISA, Notabene, Veriscope | - | Não integrado | Não integrado |

"Funciona" significa que a Didit envia a troca e lê a resposta. "Implementado, ainda não comprovado em produção" significa que a Didit envia a troca e lê a resposta da rede, mas nenhuma troca por essa rede foi concluída ainda em uma rede em produção. Nenhum dos dois significa que uma determinada contraparte pode ser alcançada: isso depende da contraparte, e as `routes` de cada VASP no [diretório](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule.md#diretório) indicam quais trilhos sua aplicação pode usar com ela hoje.

`EMAIL` transporta apenas suas requisições de saída: a página de resposta é onde a contraparte responde a uma delas, e nenhuma VASP pode enviar uma transferência para você por e-mail.

Antes de contar com GTR, VerifyVASP, Sygna Bridge ou TRUST, vincule sua filiação e faça uma primeira troca com uma contraparte que você conhece.

## Canais que não exigem associação

### INTERNAL

As duas VASPs operam na Didit, então a transferência é liquidada dentro da plataforma, sem nenhuma chamada externa. O destinatário precisa ser um cliente ativo da Didit, com Travel Rule ativado, que comprovou o controle da carteira de destino com uma mensagem assinada ou um depósito de teste. Uma carteira autodeclarada, comprovada apenas por captura de tela ou não verificada não recebe nada. Veja [Envio de uma transferência](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule.md#envio-de-uma-transferência).

### TRP

A Didit fala o Travel Rule Protocol nativamente. Uma transferência segue por `TRP` quando inclui o travel address da contraparte, quando a entrada da carteira de destino no agenda de endereços armazena um, ou quando a contraparte é encontrada no diretório com um endpoint TRP verificado pelo diretório.

Toda troca TRP que não termina em uma única chamada precisa do host TRP público da Didit, aquele para o qual os travel addresses apontam:

* **Envio.** Uma contraparte que responde à sua consulta imediatamente, na própria resposta, conclui ou recusa a transferência. Uma contraparte que responde depois envia a resposta ao host TRP da Didit, então essa troca não pode ser concluída até que o host esteja ativo; a transferência fica aguardando e expira ao fim do prazo. A Didit envia a consulta uma única vez e não tenta novamente: quando o host TRP da contraparte não pode ser alcançado ou recusa a consulta, a transferência passa imediatamente para `COUNTERPARTY_VASP_NOT_REACHABLE`, e você pode tentar novamente com `action: "resend"`.
* **Recebimento.** Outras VASPs alcançam você pelo seu travel address nesse host, então nenhuma contraparte pode enviar uma consulta TRP para você até que ele esteja ativo.

O host TRP público da Didit ainda não disponibiliza esses endpoints. [Interoperabilidade de Travel Rule](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule-interoperability.md) documenta os endpoints que as contrapartes chamarão quando o host passar a disponibilizá-los.

### EMAIL

Quando nenhum protocolo alcança a contraparte, a Didit envia aos endereços de conformidade da contraparte um link de uso único para uma página hospedada, onde ela aceita ou recusa. Nenhuma conta ou integração é necessária do lado dela. Veja [Retirada por e-mail](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule.md#coleta-por-e-mail-para-contrapartes-inacessíveis).

## Redes

### Com a sua própria associação

Conecte a sua própria associação no **Marketplace** do console (categoria de redes da Travel Rule). Suas transferências passam a usar a sua própria identidade de rede, e uma associação conectada sempre tem precedência sobre a da Didit.

| Rede | O que o Marketplace solicita | Como a resposta da contraparte chega à Didit |
| - | - | - |
| `GTR` | URL base da API, código VASP da GTR, chave de acesso, chave secreta e a chave privada ed25519 (base64) cuja chave pública está registrada no portal da GTR | Na resposta da GTR à requisição, ou consultando o status da requisição a cada 5 minutos enquanto a transferência aguarda |
| `VERIFYVASP` | A URL do seu próprio VerifyVASP Enclave, o seu ID VerifyVASP e o token que o seu Enclave apresenta à Didit | Consultando o status da verificação a cada 5 minutos |
| `SYGNA` | Código VASP da Sygna, chave de API e chave privada de assinatura. A URL base da API é opcional: deixe-a em branco para o Sygna Bridge de produção | Consultando o status da transferência a cada 5 minutos. O callback de permissão da Sygna aponta para o host TRP público da Didit, que ainda não está ativo, então a consulta periódica é hoje a única forma de a resposta chegar à Didit |
| `TRUST` | URL base, ID de membro TRUST e chave de API. Uma chave privada de criptografia X25519 (hex) é opcional | Nunca: a TRUST não envia de volta nada que a Didit consiga ler, então uma transferência entregue aguarda até que o prazo a faça expirar |

GTR, TRUST e VerifyVASP também aceitam, de forma opcional, um certificado de cliente para TLS mútuo, uma chave de cliente e um pacote de CA (PEM), para uma associação que use TLS mútuo ou uma CA privada.

* A Didit envia em segundo plano e tenta enviar novamente para uma rede que não responde ou que responde com uma falha temporária (sem resposta a tempo, falha de conexão, HTTP `408`, `429` ou `5xx`): após 30 segundos e, em seguida, após 2, 10, 30 e 60 minutos. Após a sexta tentativa malsucedida, a transferência passa a `COUNTERPARTY_VASP_NOT_REACHABLE`. Uma recusa, como outra resposta `4xx` ou um redirecionamento, não é tentada novamente: a transferência passa a `COUNTERPARTY_VASP_NOT_REACHABLE` imediatamente.
* Uma transferência cuja resposta nunca chega aguarda em `AWAITING_COUNTERPARTY` até que `confirmation_timeout_hours` se esgote; em seguida, ela expira e aplica o seu `timeout_outcome`.
* O recebimento de uma transferência que outro VASP envia a você pela GTR, pela VerifyVASP ou pelo Sygna Bridge ainda não está ativado: a Didit o ativa rede por rede e, até lá, essas redes não conseguem entregar uma transferência a você.
* Salvar uma associação retorna `400` quando o código de participante é o próprio código da Didit nessa rede ou um código que outra aplicação já possui.
* As requisições de rede levam as suas credenciais somente ao host da própria rede e nunca seguem um redirecionamento. O pacote de dados da TRUST vai para o beneficiário sem a sua chave de API, o seu ID de membro ou o seu certificado de cliente.

### Pela associação da Didit

Quando a Didit tiver uma associação a uma rede, um cliente sem associação poderá acessar a rede como participante próprio na associação da Didit, com o código de participante que a rede lhe atribuir: as mensagens de saída indicam o seu código, nunca o da Didit. Isso é oferecido somente para GTR e Sygna Bridge. A TRUST admite apenas um VASP por vez e um VerifyVASP Enclave atende a um único VASP, então ambas só podem ser acessadas com a sua própria associação.

A adesão tem três etapas: responder ao questionário de due diligence de rede da Didit, obter a aprovação da Didit e, em seguida, solicitar acesso à rede. A Didit registra você na rede, e o seu participante fica ativo assim que a rede lhe atribui um código.

Esse fluxo ainda não está disponível. Até que esteja, salvar ou enviar o questionário e solicitar acesso a uma rede retornam `403` com `code: travel_rule_platform_networks_disabled`, e `GET /v3/travel-rule/networks/` informa `platform_networks_enabled: false`.

## Como ler o status da sua aplicação

`GET /v3/travel-rule/settings/` e `GET /v3/travel-rule/networks/` retornam `networks`, com as chaves `gtr`, `trust`, `verifyvasp` e `sygna`. Cada entrada informa o que a rede pode fazer pela sua aplicação hoje:

| `state` | `reason` | Significado |
| - | - | - |
| `own_membership` | `own_membership_connected` | Você conectou sua própria associação. Em uma aplicação em produção, ela faz os envios por você. |
| `live_through_didit` | `participant_active` | A associação da Didit considera sua aplicação como participante ativo próprio. |
| `off` | `platform_network_switched_off` | Você desativou a rede em `disabled_networks`. |
| `didit_onboarding` | `didit_membership_not_live` | A associação da própria Didit à rede ainda não está ativa. |
| `questionnaire_needed` | `questionnaire_not_submitted`, `questionnaire_changes_requested` | O questionário de rede da Didit não foi enviado, ou a Didit solicitou alterações. |
| `questionnaire_in_review` | `questionnaire_submitted` | A Didit está analisando seu questionário. |
| `request_access` | `participant_not_requested` | Seu questionário foi aprovado: solicite a rede. |
| `request_sent` | `questionnaire_pending`, `submitted_to_network` | Sua solicitação está aguardando a Didit registrar você, ou o onboarding da rede. |
| `unavailable` | `own_membership_only`, `sandbox_application`, `questionnaire_rejected`, `participant_suspended`, `participant_rejected` | Nada pode enviar por esta rede para a sua aplicação: TRUST e VerifyVASP só estão disponíveis com a sua própria associação, a Didit nunca registra uma aplicação de sandbox em uma rede, a Didit rejeitou seu questionário, ou a rede suspendeu ou rejeitou seu participante. |
| `error` | `provisioning_failed`, `participant_key_missing`, `participant_key_unresolved` | A rede recusou seu registro, ou a chave de que seu participante precisa está ausente. Solicitar a rede novamente faz uma nova tentativa. |

`mode` resume o estado como `own`, `didit`, `off` ou `unavailable`. Sua própria associação é verificada primeiro, depois `disabled_networks` e, por fim, a associação da Didit. Hoje, uma rede mostra `own_membership` assim que você conecta sua própria associação. Caso contrário, GTR e Sygna Bridge mostram `didit_onboarding` (`unavailable` com `sandbox_application` em uma aplicação de sandbox), e TRUST e VerifyVASP mostram `unavailable` com `own_membership_only`, inclusive no sandbox.

Uma aplicação de sandbox nunca envia por uma rede, mesmo com sua própria associação conectada e mostrando `own_membership`: as transferências dela vão para o [Didit Test VASP](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule-sandbox.md).

`connected` significa que a associação salva passou na validação local, não que tenha havido uma troca bem-sucedida. A primeira troca em produção comprova isso junto à rede.

## O que muda quando uma rede entra em produção

Esta página, o status de `networks` e todas as rotas do diretório mudam juntos. Nada muda na sua integração: uma transferência passa a ser roteada pela rede assim que sua aplicação tiver uma associação nela, na ordem de trilhos descrita em [Como a Didit roteia uma troca](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule-interoperability.md#como-a-didit-roteia-uma-transferência).

Para solicitar acesso a uma rede que a Didit ainda não atende, use o cartão **Solicitar acesso** da rede no **Marketplace**. Cada solicitação mostra seu status (**Aberto**, **Contatado**, **Em andamento**, **Produção** ou **Recusado**) com a nota mais recente da Didit. Quando a Didit altera o status ou a nota, ela envia um e-mail ao colega de equipe que fez a solicitação, desde que ele ainda esteja na sua organização. Uma solicitação feita com uma chave de API não recebe e-mail, então acompanhe-a no **Marketplace**.

## Próximos passos

> [card] [Travel Rule](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule.md)
>
> O ciclo de vida da troca, as configurações, as redes e a API /v3/.

> [card] [Testar no sandbox](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule-sandbox.md)
>
> Teste cada resultado com o Didit Test VASP antes de entrar em produção.

> [card] [Interoperabilidade](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule-interoperability.md)
>
> Os endpoints que VASPs de contraparte usam para se conectar a você.

> [card] [Diretório](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule.md#diretório)
>
> Encontre um VASP e as rotas que sua aplicação pode usar para esse VASP.


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