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

# Listar depósitos sem correspondência da Travel Rule (API)

> A API da Didit lista depósitos recebidos que aguardam os dados da Travel Rule do VASP remetente, para associá-los à mensagem da contraparte.



Prompt da API para listar depósitos Travel Rule sem correspondência
        Copiar o prompt para a área de transferência



      
      

\<pre>

\`List the inbound deposits of my application that still wait for the originating VASP's Travel Rule data.

Endpoint:
GET https://verification.didit.me/v3/travel-rule/unmatched/

Authentication:
Use the x-api-key header with my Didit API key. A scoped API key needs the transactions privilege.

Which deposits it returns:
\- Inbound transfers whose status is AWAITING_COUNTERPARTY, NOT_ENOUGH_COUNTERPARTY_DATA or COUNTERPARTY_VASP_NOT_FOUND.
\- Only deposits with no received Travel Rule message paired to them and nobody matched by hand.

Query parameters (all optional): the same filters as GET /v3/travel-rule/transfers/ (direction, status, rail, kind, currency, start_date, end_date, counterparty), plus limit (default 50) and offset.

What to read from each row:
\- The same fields as a row of GET /v3/travel-rule/transfers/: id, transaction_id, txn_id, kind, direction, status, rail, asset, amount, originator_vasp, beneficiary_vasp, wallets, memos, matched_transaction_id, deadline_at, created_at.
\- transaction_id is the deposit to pass as {transaction_uuid} to POST /v3/travel-rule/unmatched/{transaction_uuid}/match/.

Failure modes:
\- 400 - a filter value is not valid, for example {"status": ["Unknown value(s): awaiting."]}.
\- 401 - invalid API key.
\- 403 - the key lacks the transactions privilege.

Full guide: /transaction-monitoring/travel-rule.`

\</pre>



      
      

Colar em

## Quando usarUm depósito recebido pode chegar à sua carteira antes que os dados de Travel Rule do VASP de origem cheguem à Didit.
Até que esses dados cheguem, o depósito fica em espera.
Liste os depósitos em espera para encontrar aqueles que você precisa resolver.Quando os dados tiverem chegado como uma mensagem recebida separada, associe os dois com [Associar um depósito sem correspondência](https://docs.didit.me/pt-br/management-api/travel-rule/match-unmatched-deposit.md).## Requisição```bash theme={null}
curl "https://verification.didit.me/v3/travel-rule/unmatched/" \
  -H "x-api-key: YOUR_API_KEY"
```## Observações- As linhas e os filtros são os mesmos de [Listar transferências Travel Rule](https://docs.didit.me/pt-br/management-api/travel-rule/list-transfers.md), com os mais recentes primeiro.
- Um depósito sai da lista quando uma mensagem recebida é associada a ele, quando você o associa à mão ou quando o status dele muda.
- A lista fica vazia para aplicações sem transferências Travel Rule.## Relacionados- [Associar um depósito sem correspondência](https://docs.didit.me/pt-br/management-api/travel-rule/match-unmatched-deposit.md)
- [Travel Rule](https://docs.didit.me/pt-br/transaction-monitoring/travel-rule.md)


## OpenAPI

````yaml pt-br/openapi-25.json GET /v3/travel-rule/unmatched/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificação de identidade. Autentique-se com o cabeçalho x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/unmatched/:
    get:
      tags:
        - Travel Rule
      summary: Listar depósitos da Travel Rule sem correspondência
      description: >-
        Depósitos recebidos que ainda aguardam os dados de Travel Rule do VASP
        de origem: a transferência deles está em `AWAITING_COUNTERPARTY`,
        `NOT_ENOUGH_COUNTERPARTY_DATA` ou `COUNTERPARTY_VASP_NOT_FOUND`, nenhuma
        mensagem recebida foi pareada com eles e ninguém os associou
        manualmente. As linhas e os filtros são os mesmos de `GET
        /v3/travel-rule/transfers/`, do mais recente para o mais antigo,
        paginados com `limit` (padrão 50) e `offset`. Pareie um depósito com a
        mensagem enviada pelo VASP de origem usando `POST
        /v3/travel-rule/unmatched/{transaction_uuid}/match/`.
      operationId: listUnmatchedTravelRuleDeposits
      parameters:
        - name: direction
          in: query
          required: false
          schema:
            type: string
          description: >-
            INBOUND, OUTBOUND ou ambos separados por vírgula. Diferencia
            maiúsculas de minúsculas.
        - name: status
          in: query
          required: false
          schema:
            type: string
          description: Um ou mais status de transferência, separados por vírgula.
        - name: rail
          in: query
          required: false
          schema:
            type: string
          description: >-
            Um ou mais entre INTERNAL, TRP, GTR, TRUST, VERIFYVASP, SYGNA,
            EMAIL, TEST_VASP, separados por vírgula.
        - name: kind
          in: query
          required: false
          schema:
            type: string
          description: withdrawal, deposit ou message, separados por vírgula.
        - name: currency
          in: query
          required: false
          schema:
            type: string
          description: A moeda da transação, sem distinção entre maiúsculas e minúsculas.
        - name: start_date
          in: query
          required: false
          schema:
            type: string
            format: date
          description: Transferências criadas neste dia (UTC) ou depois dele, YYYY-MM-DD.
        - name: end_date
          in: query
          required: false
          schema:
            type: string
            format: date
          description: Transferências criadas neste dia (UTC) ou antes dele, YYYY-MM-DD.
        - name: counterparty
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: >-
            O `id` de uma entrada do diretório ou de um membro da rede Didit
            retornado por GET /v3/travel-rule/vasps/: suas transferências com
            essa contraparte. Um valor que não seja um id válido retorna 400.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000000
          description: Tamanho da página, padrão 50.
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            maximum: 1000000
          description: Linhas a ignorar.
      responses:
        '200':
          description: Uma página de depósitos sem correspondência.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    nullable: true
                  previous:
                    type: string
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/TravelRuleTransferRow'
              example:
                count: 1
                next: null
                previous: null
                results:
                  - id: 7d3a1c55-0b9e-4d52-8a3c-1f6e2b9d4a08
                    transaction_id: c41f9b2e-5a8d-4e0c-9f17-3b6d8a2e5c91
                    txn_id: dep-2026-10-20-0007
                    txn_date: '2026-10-19T08:41:12Z'
                    kind: deposit
                    direction: INBOUND
                    status: AWAITING_COUNTERPARTY
                    rail: TRP
                    asset: ETH
                    amount: '1.25'
                    originator_vasp: ''
                    beneficiary_vasp: Example Counterparty VASP
                    originator_wallet: '0x77ccff0cc624a53cd8b8d8703ced826710211ec7'
                    beneficiary_wallet: '0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb'
                    originator_memo: ''
                    beneficiary_memo: ''
                    originator_wallet_type: vasp
                    beneficiary_wallet_type: vasp
                    matched_transaction_id: null
                    deadline_at: null
                    created_at: '2026-10-19T08:41:13Z'
        '400':
          description: Um valor de filtro não é válido.
          content:
            application/json:
              example:
                start_date:
                  - Use the YYYY-MM-DD format.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.travel_rule.unmatched_deposits.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: >-
            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY.

            const didit = new Didit();


            for await (const item of didit.travelRule.unmatchedDeposits.list())
            {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.TravelRule.UnmatchedDeposits.ListAutoPaging(ctx, didit.TravelRuleUnmatchedDepositsListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            for (var item : client.travelRule().unmatchedDeposits().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            foreach ($didit->travelRule->unmatchedDeposits->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            didit.travel_rule.unmatched_deposits.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            await foreach (var item in await
            client.TravelRule.UnmatchedDeposits.ListAsync())

            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    TravelRuleTransferRow:
      type: object
      description: >-
        Uma transferência Travel Rule como aparece na lista de transferências:
        apenas nomes de VASP, carteiras e memorandos, nunca os dados pessoais do
        remetente ou do beneficiário.
      properties:
        id:
          type: string
          format: uuid
          description: O id da transferência.
        transaction_id:
          type: string
          format: uuid
          description: A transação da Didit à qual a transferência pertence.
        txn_id:
          type: string
          nullable: true
          description: >-
            Seu próprio id para a transação. As transferências que a Didit
            registra para você, como uma transferência de entrada do Didit Test
            VASP, recebem um id gerado.
        txn_date:
          type: string
          format: date-time
        kind:
          type: string
          enum:
            - withdrawal
            - deposit
            - message
          description: >-
            withdrawal: de saída. message: uma transferência de entrada que um
            canal criou a partir de uma mensagem da contraparte (uma consulta
            TRP, a ponta INTERNAL de entrada ou uma mensagem GTR, VerifyVASP ou
            Sygna Bridge). deposit: qualquer outra transferência de entrada.
        direction:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
        status:
          type: string
          enum:
            - AWAITING_COUNTERPARTY
            - ON_HOLD
            - COMPLETED
            - FINISHED
            - CANCELLED
            - EXPIRED
            - COUNTERPARTY_MISMATCHED_DATA
            - COUNTERPARTY_VASP_NOT_FOUND
            - COUNTERPARTY_VASP_NOT_REACHABLE
            - UNCONFIRMED_OWNERSHIP
            - COUNTERPARTY_VASP_GENERAL_DECLINE
            - NOT_ENOUGH_COUNTERPARTY_DATA
            - NOT_APPLICABLE
        reason:
          type: string
          description: >-
            Motivo pelo qual uma transferência `COUNTERPARTY_VASP_NOT_FOUND` ou
            `COUNTERPARTY_VASP_NOT_REACHABLE` está parada, com o mesmo valor do
            `reason` da própria transferência, para que a lista diferencie um
            e-mail de conformidade devolvido de uma contraparte sem rota sem
            precisar abrir cada transferência. `""` para qualquer outro status.
            Veja [Por que uma transferência está
            parada](/pt-br/transaction-monitoring/travel-rule#por-que-uma-transferência-fica-travada).
        rail:
          type: string
          nullable: true
          enum:
            - INTERNAL
            - TRP
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
            - EMAIL
            - TEST_VASP
            - null
        asset:
          type: string
          description: A moeda da transação.
        amount:
          type: string
          description: O valor como decimal simples, por exemplo "1.25".
        originator_vasp:
          type: string
          description: >-
            Saída: a razão social do seu VASP. Entrada: o nome da contraparte,
            obtido da sua entrada no diretório, do membro da rede Didit, do
            remetente TRP, do Didit Test VASP ou do nome declarado na
            transferência. Vazio quando nenhum nome é conhecido.
        beneficiary_vasp:
          type: string
          description: >-
            Saída: o nome da contraparte, determinado da mesma forma. Entrada: a
            razão social do seu VASP.
        originator_wallet:
          type: string
        beneficiary_wallet:
          type: string
        originator_memo:
          type: string
          description: Memo ou tag de destino, vazio em blockchains que não têm um.
        beneficiary_memo:
          type: string
        originator_wallet_type:
          type: string
          enum:
            - vasp
            - self_hosted
            - own
          description: >-
            vasp, self_hosted (declarada como não custodiada) ou own (uma
            carteira que seu catálogo de endereços registra como sua). O seu
            próprio lado é sempre vasp.
        beneficiary_wallet_type:
          type: string
          enum:
            - vasp
            - self_hosted
            - own
        matched_transaction_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            O outro lado de um depósito que você associou manualmente a uma
            transferência anunciada.
        deadline_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Quando a transferência expira, se ainda estiver aguardando a
            contraparte. Definido em toda transferência que você cria com `POST
            /v3/transactions/` e que exige uma troca, seja de saída ou de
            entrada. Nulo abaixo do limiar, em um pagamento Lightning ao qual a
            Travel Rule não se aplica e em transferências de entrada que a Didit
            cria quando uma contraparte entra em contato com você (uma consulta
            TRP de entrada, uma mensagem de rede ou a etapa de entrada
            INTERNAL).
        created_at:
          type: string
          format: date-time
  responses:
    Unauthorized:
      description: Não autorizado
      content:
        application/json:
          examples:
            Invalid API Key:
              summary: Chave de API inválida
              value:
                detail: Invalid API Key.
    Forbidden:
      description: Proibido
      content:
        application/json:
          examples:
            No Permission:
              summary: Sem permissão
              value:
                detail: You do not have permission to perform this action.
            Not Enough Credits:
              summary: Créditos insuficientes
              value:
                error: >-
                  You don't have enough credits to perform this request. Please
                  top up at https://business.didit.me
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Chave de API da sua aplicação, em Developers -> API keys no Business
        Console. A chave principal tem acesso total. Uma chave nomeada pode ter
        escopo restrito: nenhum acesso, leitura ou escrita por recurso, limitada
        a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a
        uma data de validade. 401 significa que a chave está errada, revogada ou
        expirada; 403 significa que nenhuma chave foi enviada, que a chave não
        tem acesso a este recurso ou ação, ou que a requisição veio de um
        endereço fora da sua lista de IPs; 404 em uma rota de sessão significa
        que a sessão está fora dos fluxos ou status da chave. Uma chave sem
        acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave
        sem permissão de escrita em sessões recebe links e tokens de sessão como
        null. Consulte https://docs.didit.me/console/api-keys.

````

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