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

# Status de KYT: transações e casos (referência)

> Todos os status de transação, caso e Travel Rule do KYT da Didit, com transições. 1,000 transações/mês incluídas, depois $0.001 cada.

O Monitoramento de transações tem três máquinas de estado distintas: a **transação**, cada **caso** e, quando aplicável, a **verificação de Travel Rule**. Esta página é a referência sobre esses status.

## Status da transação

Definido na criação e atualizado ao longo do ciclo de vida.

| Status | Significado |
| - | - |
| `APPROVED` | A transação passou por todas as regras abaixo do limiar de revisão. |
| `IN_REVIEW` | A pontuação ultrapassou o limiar de revisão, ou uma regra exigiu revisão explicitamente. Requer a atenção de um analista. |
| `DECLINED` | A pontuação ultrapassou o limiar de recusa, ou uma regra recusou explicitamente. A transação é rejeitada. |
| `AWAITING_USER` | O usuário precisa agir antes que a transação possa ser liquidada. A Didit só define esse status por meio de uma regra: a ação `change_status` de uma regra (por exemplo, a regra opt-in da biblioteca `travel-rule-pending-action`, que é acionada em uma transferência de Travel Rule em `ON_HOLD`), ou uma ação de uma regra que exigiu verificação adicional (uma sessão de remediação foi criada). Uma transferência de Travel Rule que precisa de prova de controle da carteira não define esse status por si só: a transação mantém o status que suas regras atribuem (geralmente `APPROVED`) e o bloco `action_required` traz a URL de comprovação de propriedade da carteira sempre que houver uma sessão de widget pendente. Consulte o bloco `action_required` da transação para ver a ação concreta e a URL. |

### Transições

```mermaid theme={null}
stateDiagram-v2
    [*] --> APPROVED: Score < review threshold, no blocking rules
    [*] --> IN_REVIEW: Score >= review threshold
    [*] --> DECLINED: Score >= decline threshold, or rule decline action
    [*] --> AWAITING_USER: Rule action change_status → AWAITING_USER
    IN_REVIEW --> APPROVED: Analyst cleared
    IN_REVIEW --> DECLINED: Analyst declined
    AWAITING_USER --> APPROVED: Remediation session approved
    AWAITING_USER --> DECLINED: Remediation session declined
    AWAITING_USER --> IN_REVIEW: Remediation session ended in review
```

Observação: fora da Travel Rule, não há transição direta de `APPROVED` ou `DECLINED` de volta para outros estados.
Quando uma Travel Rule expira, seu `timeout_outcome` define `IN_REVIEW` (`HOLD`) ou `DECLINED` (`REJECT`), seja qual for o status atual, e uma regra que dispara após uma transição de Travel Rule pode alterar uma transação `APPROVED`.
Use alterações de status pelo console para fazer correções; elas ficam registradas no registro de auditoria.

## Alertas

Não existe um status de alerta separado.
Um alerta aberto é uma transação em `IN_REVIEW` ou `AWAITING_USER`, portanto use o status da transação acima.
Consulte [Alertas](https://docs.didit.me/pt-br/transaction-monitoring/alerts.md).

## Status do caso

Consulte [Gestão de casos](https://docs.didit.me/pt-br/console/case-management/cases.md) para ver todos os detalhes.

| Status | Significado |
| - | - |
| `OPEN` | Em investigação ativa. |
| `AWAITING_USER` | Aguardando informações por parte do usuário. |
| `RESOLVED` | Encerrado com uma resolução: `FALSE_POSITIVE`, `VALID_THREAT`, `INCONCLUSIVE`, `REQUIREMENTS_NOT_MET` ou `REQUIREMENTS_SATISFIED`. |

Os casos têm uma **prioridade** separada (`LOW`, `MEDIUM`, `HIGH`).

## Status da verificação de Travel Rule

Transferências de ativos virtuais sujeitas à Travel Rule do FATF passam por uma **intercâmbio dedicado com 13 estados**, separada do status da transação acima.
Uma transferência de saída começa em `AWAITING_COUNTERPARTY`, `NOT_APPLICABLE` (abaixo de `threshold_amount`), `UNCONFIRMED_OWNERSHIP` (carteira da contraparte declarada como autocustodiada), `COMPLETED` ou `COUNTERPARTY_MISMATCHED_DATA` (uma correspondência `INTERNAL` com uma carteira verificada, dependendo da correspondência de nome), `COUNTERPARTY_VASP_NOT_FOUND` ou `COUNTERPARTY_VASP_NOT_REACHABLE`.
Uma transferência de entrada também pode começar em `ON_HOLD` ou `NOT_ENOUGH_COUNTERPARTY_DATA`, e um registro sunrise que corresponde a uma carteira verificada, com nome do beneficiário correspondente ou ausente, vai diretamente de `COMPLETED` até `FINISHED`.
A troca termina em `FINISHED`, `CANCELLED` ou `EXPIRED`.

| Status | Significado |
| - | - |
| `AWAITING_COUNTERPARTY` | Enviada à contraparte; aguardando a resposta dela. Uma transferência enviada pelo TRUST permanece aqui até expirar, porque o TRUST não devolve nada que a Didit consiga ler. Em uma aplicação sandbox, a transferência vai para o [Didit Test VASP](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule-sandbox.md), que responde dentro da Didit com o cenário que você escolher. |
| `UNCONFIRMED_OWNERSHIP` | A propriedade da carteira do beneficiário ainda não foi comprovada. |
| `ON_HOLD` | A Didit só define esse status em transferências de entrada: um registro sunrise ou uma consulta `TRP` de entrada cuja carteira não está no seu lista de endereços (ou, no caso de uma consulta apenas por nome, cujo nome não corresponde a um único titular verificado), ou uma consulta `TRP` de entrada que exige sua decisão manual (a aceitação automática está desativada ou a resposta automática não pôde ser entregue). Esse status não altera o status da transação por si só; a regra opcional da biblioteca `travel-rule-pending-action` define `AWAITING_USER`. Resolva-o com `POST /v3/transactions/{id}/travel-rule/ownership/`. |
| `COMPLETED` | Os dados do remetente e do beneficiário corresponderam - é seguro transmitir on-chain. |
| `FINISHED` | Hash on-chain informado; troca encerrada. |
| `CANCELLED` | Cancelada a partir de um estado não terminal. |
| `EXPIRED` | O tempo limite de confirmação se esgotou. Somente uma transferência que ainda esteja em `AWAITING_COUNTERPARTY` no prazo final expira, com verificação a cada 15 minutos; os outros status nunca expiram. Seu `timeout_outcome` é aplicado à transação, e essa alteração não envia o webhook `transaction.status.updated`. |
| `COUNTERPARTY_MISMATCHED_DATA` | O nome do beneficiário não correspondeu. |
| `COUNTERPARTY_VASP_NOT_FOUND` | Nenhum canal conseguiu identificar a contraparte. |
| `COUNTERPARTY_VASP_NOT_REACHABLE` | Contraparte identificada, mas a Didit não conseguiu entregar: o endpoint `TRP` dela estava inacessível ou informou um LEI diferente ou ausente, ou um nome diferente, ou um canal de rede (GTR, TRUST, VerifyVASP, Sygna Bridge) não conseguiu entregar a mensagem. |
| `COUNTERPARTY_VASP_GENERAL_DECLINE` | A contraparte recusou a troca. |
| `NOT_ENOUGH_COUNTERPARTY_DATA` | Uma consulta `TRP` de entrada não identificou o beneficiário nem pelo nome nem pelo endereço da carteira. Ela não tem prazo e o endpoint de propriedade não consegue resolvê-la, portanto cancele-a com `action: "cancel"`; o remetente não é notificado. A Didit nunca define esse status em uma transferência de saída; ele só aparece ali quando você mesmo o registra, e você pode tentar novamente essa transferência com `action: "resend"`. |
| `NOT_APPLICABLE` | Abaixo de `threshold_amount`, portanto nada foi trocado, ou um valor que você registrou em uma transferência para a qual a Didit não executa a Travel Rule (Travel Rule desativada, uma transação cujo tipo não é `travelRule` ou um valor legado). |

Integrações mais antigas ainda podem enviar os valores legados `UNKNOWN`, `COMPLIANT`, `PENDING_ACTION`, `PENDING_COUNTERPARTY`, `FAILED` e `EXEMPT`; a Didit os mapeia automaticamente para os estados acima.

Consulte [Travel Rule](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule.md#ciclo-de-vida) para ver a referência oficial.

## Status do resultado do provedor

Cada resultado de provedor externo (triagem de carteiras, monitoramento de moeda fiduciária, triagem de sanções) é armazenado com seu próprio status. Ele aparece em `provider_results[]` na resposta da transação.

| Status | Significado |
| - | - |
| `PENDING` | Consulta ao provedor em andamento. |
| `COMPLETED` | Resultado retornado com sucesso. |
| `FAILED` | O provedor retornou erro ou excedeu o tempo limite. |
| `SKIPPED` | Provedor ignorado intencionalmente (por exemplo, transação abaixo do limiar). |

## Resultados da execução de regras

Cada `TransactionRuleRun` tem:

* `matched` (booleano): a regra foi disparada?
* `is_test` (booleano): a regra estava em modo TEST?
* `mode`: `ACTIVE`, `DISABLED` ou `TEST` no momento da avaliação.
* `score_delta`: contribuição para a pontuação (se a regra foi disparada e estava ativa).
* `status_target`: o status que a regra solicitou (se a ação for `change_status`).

Veja [Regras](https://docs.didit.me/pt-br/transaction-monitoring/rules.md) para a anatomia de uma regra.

## Códigos de motivo da decisão

Valores comuns de `reason` nas transições de status:

| Motivo | Significado |
| - | - |
| `rule_score_threshold` | A pontuação ultrapassou o limiar de revisão ou de recusa. |
| `rule_change_status` | A ação `change_status` de uma regra forçou um status. |
| `analyst_approved` / `analyst_declined` / `analyst_cleared` | Ação manual de um analista. |
| `user_action_approved` / `user_action_declined` / `user_action_in_review` | Resultado da sessão de remediação vinculada (a ação do usuário solicitada durante `AWAITING_USER`). |
| `provider_update` | O provedor externo atualizou o resultado. |
| `aml_confirmed_sanction` | A análise AML confirmou uma correspondência com sanções. |
| `blocklist_applicant` / `blocklist_counterparty` | Aplicação da lista de bloqueio a uma das partes. |

## Próximos passos

> [card] [Pontuação de risco](https://docs.didit.me/pt-br/transaction-monitoring/risk-scoring.md)
>
> Como as pontuações correspondem aos status.

> [card] [Alertas](https://docs.didit.me/pt-br/transaction-monitoring/alerts.md)
>
> Ciclo de vida dos alertas.

> [card] [Casos](https://docs.didit.me/pt-br/transaction-monitoring/cases.md)
>
> Ciclo de vida dos casos.


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