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

# Wallet-Nachweise abrufen - Didit Travel Rule API

> Rufen Sie Screenshot-Wallet-Nachweise in Didit ab, die auf Ihre Prüfung warten, älteste zuerst, mit Bild, Wallet, Transaktion und Nachweisverlauf.

API-Prompt zum Auflisten von Wallet-Nachweisen
Prompt in die Zwischenablage kopieren

<pre>
  \`List the screenshot wallet-ownership proofs my end users uploaded from the wallet-ownership widget, so my compliance team can review them.

  Endpoint:
  GET [https://verification.didit.me/v3/travel-rule/wallet-proofs/](https://verification.didit.me/v3/travel-rule/wallet-proofs/)

  Authentication:
  Use the x-api-key header with my Didit API key.

  Query parameters:

  * status - PENDING (default, the proofs still to decide), VERIFIED, REJECTED or EXPIRED.
  * limit, offset - pagination.

  What to read from each result:

  * proof\_id - pass it to POST /v3/travel-rule/wallet-proofs/{proof_uuid}/decision/ to approve or reject.
  * screenshot\_url - time-limited link to the uploaded image; list again for a fresh link.
  * wallet\_address, chain (canonical, e.g. ETH, BTC, SOL, TRX), holder\_name, is\_ownership\_verified.
  * transaction\_id - the transaction the widget session was minted for, null when none.
  * attempts, failure\_reason, method\_chosen\_at, decided\_at, decided\_by, review\_note.

  Behavior:

  * Oldest first, so the proof that has waited longest comes first.
  * Only uploaded screenshots appear. A proof on a wallet I deleted from my address book never appears: Didit closes it as OWNERSHIP\_CHANGED.

  Failure modes:

  * 400 - unknown status.
  * 401 - missing or malformed x-api-key.

  Full guide: /transaction-monitoring/wallet-ownership-widget#what-it-proves.\`
</pre>

Einfügen in


## OpenAPI

````yaml de/openapi-25.json GET /v3/travel-rule/wallet-proofs/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API für Ausweisverifizierung. Authentifizierung über den x-api-key-Header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/wallet-proofs/:
    get:
      tags:
        - Travel Rule
      summary: Screenshot-Wallet-Nachweise zur Prüfung auflisten
      description: >-
        Ihre Prüfungs-Warteschlange für Wallet-Eigentumsnachweise per
        Screenshot. Ein Screenshot ist der einzige Nachweis, den Didit nicht
        selbst prüfen kann: Sobald der Endbenutzer ihn über das Widget hochlädt,
        verbleibt er im Status PENDING, bis Sie ihn mit POST
        /v3/travel-rule/wallet-proofs/{proof_uuid}/decision/ genehmigen oder
        ablehnen. Der älteste Nachweis zuerst, sodass die Warteschlange mit dem
        Nachweis bearbeitet wird, der am längsten gewartet hat. Nur hochgeladene
        Screenshots werden angezeigt, niemals ein Nachweis, für den der
        Endbenutzer noch keine Datei hochgeladen hat, und niemals einer für eine
        Wallet, die Sie aus Ihrem Adressbuch gelöscht haben (Didit schließt
        diese als OWNERSHIP_CHANGED ab).
      operationId: listTravelRuleWalletProofs
      parameters:
        - name: status
          in: query
          description: >-
            Welche Nachweise aufgelistet werden sollen. Standardmäßig PENDING,
            also diejenigen, über die noch entschieden werden muss.
          schema:
            type: string
            enum:
              - PENDING
              - VERIFIED
              - REJECTED
              - EXPIRED
            default: PENDING
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
            minimum: 0
      responses:
        '200':
          description: >-
            Paginierte Screenshot-Nachweise. Die Anzahl ist bis 100 exakt und
            darüber auf 100 begrenzt.
          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/TravelRuleWalletProofReview'
        '400':
          description: Unbekannter Status.
        '401':
          description: Fehlender oder ungültiger x-api-key.
        '403':
          description: Dem Aufrufer fehlt die Berechtigung für Transaktionen.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl
            https://verification.didit.me/v3/travel-rule/wallet-proofs/?status=PENDING
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.travel_rule.wallet_proofs.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.walletProofs.list()) {
              console.log(item);
            }
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

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

            for (var item : client.travelRule().walletProofs().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->walletProofs->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.wallet_proofs.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.WalletProofs.ListAsync())

            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    TravelRuleWalletProofReview:
      type: object
      properties:
        proof_id:
          type: string
          format: uuid
        method:
          type: string
          enum:
            - SCREENSHOT
        status:
          type: string
          enum:
            - PENDING
            - VERIFIED
            - REJECTED
            - EXPIRED
        wallet_address:
          type: string
        chain:
          type: string
          description: Kanonischer Chain-Identifikator, z. B. ETH, BTC, SOL, TRX.
        holder_name:
          type: string
        is_ownership_verified:
          type: boolean
          description: >-
            Gibt an, ob die Inhaberschaft des Adressbucheintrags verifiziert
            ist, durch diesen oder einen anderen Nachweis.
        transaction_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Die Transaktion, für deren Travel-Rule-Transfer die Widget-Sitzung
            erstellt wurde. Null für eine Sitzung, die ohne transaction_id
            erstellt wurde.
        file_name:
          type: string
          nullable: true
        content_type:
          type: string
          nullable: true
        screenshot_url:
          type: string
          nullable: true
          description: >-
            Zeitlich begrenzter Link zum hochgeladenen Screenshot. Rufen Sie die
            Warteschlange erneut ab, um einen neuen Link zu erhalten.
        attempts:
          type: integer
          description: >-
            Wie viele Dateien der Endbenutzer für diesen Nachweis hochgeladen
            hat.
        failure_reason:
          allOf:
            - $ref: '#/components/schemas/TravelRuleWalletProofFailureReason'
          description: >-
            REVIEW_REJECTED nach einer Ablehnung, OWNERSHIP_CHANGED, wenn die
            Wallet vor einer Entscheidung den Inhaber gewechselt hat oder
            gelöscht wurde. Andernfalls leer.
        method_chosen_at:
          type: string
          format: date-time
          nullable: true
          description: Wann der Endbenutzer die Screenshot-Methode ausgewählt hat.
        decided_at:
          type: string
          format: date-time
          nullable: true
        decided_by:
          type: string
          description: >-
            Wer den Nachweis geschlossen hat: review:<user identifier> für einen
            Prüfer in der Konsole, review für eine Entscheidung per
            API-Schlüssel, widget oder sweeper, wenn Didit ihn automatisch
            geschlossen hat. Leer, solange PENDING.
        review_note:
          type: string
          description: >-
            Die mit der Entscheidung gesendete Notiz. Leer, wenn keine vorhanden
            ist.
        created_at:
          type: string
          format: date-time
    TravelRuleWalletProofFailureReason:
      type: string
      enum:
        - ''
        - SIGNATURE_INVALID
        - SIGNATURE_UNSUPPORTED_SCHEME
        - DEPOSIT_NOT_FOUND
        - DEPOSIT_UNCONFIRMED
        - DEPOSIT_LOOKUP_FAILED
        - DEPOSIT_MISMATCH
        - DEPOSIT_STALE
        - TXID_REUSED
        - CHAIN_UNSUPPORTED
        - WINDOW_EXPIRED
        - OWNERSHIP_CHANGED
        - METHOD_SWITCHED
        - REVIEW_REJECTED
        - ABANDONED
      description: >-
        Warum ein Wallet-Eigentumsnachweis oder dessen letzter Versuch VERIFIED
        verfehlt hat. Leer, wenn kein Fehler aufgetreten ist. Ein
        PENDING-Nachweis kann einen Grund enthalten: Der letzte Versuch ist
        fehlgeschlagen und der Endbenutzer kann es erneut versuchen.
        DEPOSIT_MISMATCH, DEPOSIT_STALE, TXID_REUSED und REVIEW_REJECTED
        schließen den Nachweis als REJECTED ab. SIGNATURE_INVALID: Die Signatur
        stimmt nicht mit der Wallet und der Challenge überein.
        SIGNATURE_UNSUPPORTED_SCHEME: Die Wallet hat in einem Format signiert,
        das Didit nicht verifiziert. DEPOSIT_NOT_FOUND, DEPOSIT_UNCONFIRMED,
        DEPOSIT_LOOKUP_FAILED: Die Testeinzahlung ist noch nicht lesbar oder
        noch nicht bestätigt; Didit prüft dies weiter, bis das Testfenster
        schließt. DEPOSIT_MISMATCH: Die Transaktion sendet nicht den erwarteten
        Betrag von der Wallet an die Einzahlungsadresse. DEPOSIT_STALE: Die
        Transaktion liegt zeitlich vor der Challenge. TXID_REUSED: Die
        Transaktion hat bereits eine andere Wallet nachgewiesen.
        CHAIN_UNSUPPORTED: Die Methode ist auf dieser Chain nicht verfügbar.
        WINDOW_EXPIRED: Das Testfenster ist abgelaufen. OWNERSHIP_CHANGED: Der
        Inhaber der Wallet hat sich geändert oder die Wallet wurde nach dem
        Erstellen der Widget-Sitzung aus Ihrem Adressbuch gelöscht.
        METHOD_SWITCHED: Der Endbenutzer hat eine andere Methode gewählt, bevor
        diese abgeschlossen war. REVIEW_REJECTED: Ihr Prüfer hat den Screenshot
        abgelehnt. ABANDONED: Die Widget-Sitzung ist abgelaufen, bevor der
        Endbenutzer fertig war.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in
        der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter
        Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese-
        oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte
        Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und
        auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen
        oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde,
        der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder
        die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei
        einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows
        oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff
        erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne
        Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als
        null. Siehe https://docs.didit.me/console/api-keys.

````

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