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

# वॉलेट स्क्रीनिंग API: ऑन-डिमांड क्रिप्टो AML

> Didit से बिना लेन-देन बनाए एकल क्रिप्टो वॉलेट पते को AML जोखिम के लिए स्क्रीन करें। धन का स्रोत, प्रतिबंध संपर्क, जोखिम स्कोर। प्रति कॉल $0.02 से।



वॉलेट स्क्रीनिंग API प्रॉम्प्ट
        प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें



      
      

\<pre>

\`Screen a single crypto wallet address for AML risk through the Didit Management API, without creating a transaction.

Endpoint:
POST https://verification.didit.me/v3/wallet-screening/

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

Goal:
\- Run on-demand AML screening on one crypto address and return a normalised risk result (risk_score, severity, sanctions_hit, source/destination of funds, counterparty connections). Nothing is written to the transactions table.

When to call:
\- Before onboarding a customer's deposit/withdrawal wallet, to pre-check exposure.
\- Any time you need a standalone risk read on an address and do NOT have (or do not want to record) a transaction.
\- For transaction-coupled monitoring instead, use POST /v3/transactions/ with currency_kind = "crypto".

Prerequisites:
\- Transaction monitoring must be configured for the application with a managed provider or an existing provider key. Otherwise the call returns 409.

Request body (application/json):
\{
"wallet_address": "0x94f1b9b64e2932f6a2db338f616844400cd58e8a",  // required; alias: address
"blockchain": "ETH",   // required; one of BTC, ETH, LTC, XRP, BCH, DOGE, TRX, SOL, MATIC, BNB, BASE, OP, ARB, AVAX, ADA, XLM, HBAR, USDT, USDC, or a common network name such as POLYGON or BSC; alias: currency
"direction": "inbound" // optional; inbound | outbound | deposit | withdrawal
}

Example call:
curl -X POST "https://verification.didit.me/v3/wallet-screening/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"wallet_address":"0x94f1b9b64e2932f6a2db338f616844400cd58e8a","blockchain":"ETH"}'

What to read from the response:
\- risk_score (0-100, higher = riskier) and severity (UNKNOWN | LOW | MEDIUM | HIGH | CRITICAL).
\- sanctions_hit (boolean) and dominant_risk_category.
\- source_of_funds / destination_of_funds / counterparty_connections for the exposure breakdown.

Billing:
\- One AML monitoring usage is billed per successful screening. Sandbox applications are not billed.

Failure modes:
\- 400 - malformed wallet address, missing wallet_address, or unsupported blockchain.
\- 401 - missing or malformed x-api-key.
\- 409 - no AML provider configured for the application; configure transaction monitoring first.
\- 502 - provider could not complete the screening; retry later.

For automatic, transaction-coupled crypto screening, see /transaction-monitoring/aml-screening.`

\</pre>



      
      

यहाँ पेस्ट करें



## OpenAPI

````yaml hi/openapi-25.json POST /v3/wallet-screening/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: पहचान सत्यापन API। x-api-key हेडर के साथ प्रमाणीकृत करें।
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/wallet-screening/:
    post:
      tags:
        - Transactions
      summary: वॉलेट पते को स्क्रीन करें
      description: >-
        लेन-देन बनाए बिना किसी एकल क्रिप्टो वॉलेट/पते के लिए ऑन-डिमांड AML
        स्क्रीनिंग चलाएं। यह आपके एप्लिकेशन के कॉन्फ़िगर किए गए ब्लॉकचेन
        एनालिटिक्स प्रदाता को रिज़ॉल्व करता है, पते की सिंक्रोनस रूप से
        स्क्रीनिंग करता है, और सामान्यीकृत जोखिम परिणाम लौटाता है। LIGHTNING
        केवल Marketplace के माध्यम से जोड़े गए Elliptic या Chainalysis BYOK
        कनेक्शन के साथ उपलब्ध है। लेन-देन तालिका में कुछ भी नहीं लिखा जाता है।
        प्रति सफल स्क्रीनिंग AML निगरानी के एक उपयोग का बिल लिया जाता है
        (सैंडबॉक्स एप्लिकेशन्स से बिल नहीं लिया जाता है)।
      operationId: screenWallet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_address
              properties:
                wallet_address:
                  type: string
                  description: >-
                    स्क्रीन करने के लिए क्रिप्टो पता या नेटवर्क पहचानकर्ता।
                    चयनित नेटवर्क से मेल खाना चाहिए (उदाहरण के लिए, EVM चेन के
                    लिए `0x`-उपसर्ग वाला 40-हेक्स-वर्णों का पता)। उपनाम:
                    `address`।
                  example: '0x94f1b9b64e2932f6a2db338f616844400cd58e8a'
                blockchain:
                  type: string
                  description: >-
                    वैकल्पिक नेटवर्क पहचानकर्ता। जब छोड़ा जाता है, तो नेटवर्क
                    पते के प्रारूप से पढ़ा जाता है: `bc1`, `1` और `3` पते
                    Bitcoin (BTC) हैं, `T` पते Tron (TRX) हैं और base58
                    सार्वजनिक कुंजियाँ Solana (SOL) हैं। एक `0x` पता प्रत्येक
                    EVM नेटवर्क पर मान्य है, इसलिए इसके लिए `blockchain` को
                    छोड़ने पर `candidate_chains` में संभावित नेटवर्क के साथ 422
                    उत्तर मिलता है। प्रबंधित स्क्रीनिंग BTC, ETH, LTC, XRP, BCH,
                    DOGE, TRX, SOL, MATIC, BNB, BASE (Base), OP (Optimism), ARB
                    (Arbitrum One), AVAX (Avalanche C-Chain), ADA (Cardano), XLM
                    (Stellar) और HBAR (Hedera) का समर्थन करती है। USDT और USDC
                    लीगेसी Ethereum उपनाम हैं, न कि बहु-नेटवर्क खोजें।
                    कनेक्टेड-प्रदाता कवरेज भिन्न हो सकता है। LIGHTNING के लिए
                    समर्थित कनेक्टेड प्रदाता की आवश्यकता होती है। CELO (Celo),
                    MODE (Mode) और PLUME (Plume) को एक कनेक्टेड TRM Labs खाते के
                    माध्यम से स्क्रीन किया जाता है; प्रबंधित स्क्रीनिंग उनके लिए
                    400 उत्तर देती है। उपनाम: `currency`।
                  enum:
                    - BTC
                    - LIGHTNING
                    - ETH
                    - LTC
                    - XRP
                    - BCH
                    - DOGE
                    - TRX
                    - SOL
                    - MATIC
                    - BNB
                    - USDT
                    - USDC
                    - BASE
                    - OP
                    - ARB
                    - AVAX
                    - ADA
                    - XLM
                    - HBAR
                    - CELO
                    - MODE
                    - PLUME
                  example: ETH
                direction:
                  type: string
                  description: >-
                    वैकल्पिक। क्या पते को इनबाउंड (डिपॉज़िट) या आउटबाउंड
                    (निकासी) प्रतिपक्ष के रूप में स्क्रीन किया जा रहा है।
                    `inbound`, `outbound`, `deposit`, या `withdrawal` स्वीकार
                    करता है। छोड़े जाने पर डिफ़ॉल्ट रूप से एक तटस्थ
                    प्री-ट्रांसफ़र स्क्रीन होती है। इसे केवल संदर्भ के रूप में
                    प्रदाता को पास किया जाता है; यह लौटाए गए `risk_score`,
                    `severity`, या `source_of_funds`/`destination_of_funds`
                    विवरणों को नहीं बदलता है, जो `direction` की परवाह किए बिना
                    हमेशा दोनों लौटाए जाते हैं। इसलिए `direction` को बदलने या
                    छोड़ने पर किसी पते की पुनः स्क्रीनिंग की आवश्यकता नहीं होती
                    है।
                  enum:
                    - inbound
                    - outbound
                    - deposit
                    - withdrawal
            example:
              wallet_address: '0x94f1b9b64e2932f6a2db338f616844400cd58e8a'
              blockchain: ETH
      responses:
        '200':
          description: सामान्यीकृत वॉलेट स्क्रीनिंग परिणाम।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletScreeningResult'
              example:
                provider: merklescience
                screening_type: WALLET_SCREENING
                risk_score: 95
                severity: CRITICAL
                status: SCREENED
                summary: >-
                  Merkle Science risk: Critical (5/5). SANCTIONS HIT. Dominant
                  risk: sanctioned. Driven by: the address is attributed to
                  Sanctions / OFAC (Example Sanctions)
                wallet_address: '0x94f1b9b64e2932f6a2db338f616844400cd58e8a'
                transaction_hash: null
                blockchain: ETH
                block_timestamp: null
                total_value_usd: null
                fee_usd: null
                sender_rows: []
                receiver_rows: []
                transaction_flows: []
                transaction_flows_status: null
                transaction_flows_error: null
                source_of_funds:
                  - category: sanctioned
                    percentage: 100
                    amount_usd: 9813695
                    entity_name: Example Sanctions
                    entity_type: Sanctions
                    entity_subtype: OFAC
                    hops: null
                    description: Sanctions / OFAC
                    is_direct: true
                    exposure_direction: incoming
                    exposure_type: direct
                    provider_entity_id: '118885'
                    provider_entity_type_id: '30'
                    provider_entity_subtype_id: '125'
                    country: ''
                    raw_amount: null
                    raw_currency: null
                destination_of_funds:
                  - category: defi
                    percentage: 84.824453
                    amount_usd: 7783414.38
                    entity_name: Example DeFi 7
                    entity_type: DeFi
                    entity_subtype: Bridges
                    hops: null
                    description: DeFi / Bridges
                    is_direct: false
                    exposure_direction: outgoing
                    exposure_type: indirect
                    provider_entity_id: '118459'
                    provider_entity_type_id: '33'
                    provider_entity_subtype_id: '143'
                    country: ''
                    raw_amount: null
                    raw_currency: null
                  - category: defi
                    percentage: 15.175547
                    amount_usd: 1392494.37
                    entity_name: Example DeFi 2
                    entity_type: DeFi
                    entity_subtype: Yield Aggregator
                    hops: null
                    description: DeFi / Yield Aggregator
                    is_direct: false
                    exposure_direction: outgoing
                    exposure_type: indirect
                    provider_entity_id: '90192'
                    provider_entity_type_id: '33'
                    provider_entity_subtype_id: '142'
                    country: ''
                    raw_amount: null
                    raw_currency: null
                counterparty_connections:
                  - entity_name: Example Sanctions
                    entity_type: Sanctions
                    entity_subtype: OFAC
                    risk_level: critical
                    categories:
                      - sanctioned
                    received_usd: null
                    sent_usd: null
                    received_hops: null
                    sent_hops: null
                    percentage: 0
                    is_direct: true
                    country: null
                    provider_entity_id: null
                  - entity_name: Example Sanctions
                    entity_type: Sanctions
                    entity_subtype: OFAC
                    risk_level: critical
                    categories:
                      - sanctioned
                    received_usd: null
                    sent_usd: null
                    received_hops: null
                    sent_hops: null
                    percentage: 0
                    is_direct: true
                    country: null
                    provider_entity_id: null
                network_nodes: []
                network_edges: []
                sanctions_hit: true
                pep_counterparty: null
                dominant_risk_category: sanctioned
                risk_factors:
                  - source: attribution
                    category: sanctioned
                    label: Sanctions / OFAC
                    entity_name: Example Sanctions
                    direction: attribution
                    exposure_type: attribution
                    amount_usd: null
                    percentage: 0
                    is_high_risk: true
                    description: >-
                      the address is attributed to Sanctions / OFAC (Example
                      Sanctions)
                  - source: exposure
                    category: sanctioned
                    label: Sanctions / OFAC
                    entity_name: Example Sanctions
                    direction: incoming
                    exposure_type: direct
                    amount_usd: 9813695
                    percentage: 51.679304
                    is_high_risk: true
                    description: >-
                      51.6793% direct incoming exposure to Sanctions / OFAC
                      (Example Sanctions)
                  - source: exposure
                    category: defi
                    label: DeFi / Bridges
                    entity_name: Example DeFi 7
                    direction: outgoing
                    exposure_type: indirect
                    amount_usd: 7783414.38
                    percentage: 40.987766
                    is_high_risk: false
                    description: >-
                      40.9878% indirect outgoing exposure to DeFi / Bridges
                      (Example DeFi 7)
                  - source: exposure
                    category: defi
                    label: DeFi / Yield Aggregator
                    entity_name: Example DeFi 2
                    direction: outgoing
                    exposure_type: indirect
                    amount_usd: 1392494.37
                    percentage: 7.33293
                    is_high_risk: false
                    description: >-
                      7.33293% indirect outgoing exposure to DeFi / Yield
                      Aggregator (Example DeFi 2)
                raw_response:
                  ...: provider-specific details
                report_signature: <hmac-sha256 over the result, scoped to your application>
        '400':
          description: >-
            सत्यापन त्रुटि — विकृत पता, गायब `wallet_address`, असमर्थित
            `blockchain`, ऐसे पते के लिए `blockchain` छोड़ा गया जिसका प्रारूप
            किसी नेटवर्क का नाम नहीं देता है, या Elliptic या Chainalysis BYOK
            Marketplace कनेक्शन के बिना LIGHTNING।
        '401':
          description: अनुपलब्ध या अमान्य `x-api-key`।
        '409':
          description: >-
            एप्लिकेशन के लिए कोई AML प्रदाता कॉन्फ़िगर नहीं किया गया है, या
            कॉन्फ़िगर किया गया प्रदाता अभी वॉलेट स्क्रीनिंग का समर्थन नहीं करता
            है। पहले लेन-देन निगरानी कॉन्फ़िगर करें।
        '422':
          description: >-
            `0x` पते के लिए `blockchain` छोड़ा गया, जिसे प्रत्येक EVM नेटवर्क
            साझा करता है। कुछ भी स्क्रीन या बिल नहीं किया गया है;
            `candidate_chains` में से किसी एक पर `blockchain` सेट करके पुनः
            भेजें।
          content:
            application/json:
              schema:
                type: object
                properties:
                  blockchain:
                    type: array
                    items:
                      type: string
                    example:
                      - >-
                        A 0x address is valid on every EVM chain. Send
                        blockchain as one of: ETH, BNB, MATIC, BASE, ARB, OP,
                        CELO, MODE, PLUME.
                  candidate_chains:
                    type: array
                    items:
                      type: string
                    example:
                      - ETH
                      - BNB
                      - MATIC
                      - BASE
                      - ARB
                      - OP
                      - CELO
                      - MODE
                      - PLUME
        '502':
          description: AML प्रदाता स्क्रीनिंग पूरी नहीं कर सका। बाद में पुनः प्रयास करें।
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST 'https://verification.didit.me/v3/wallet-screening/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "wallet_address": "0x94f1b9b64e2932f6a2db338f616844400cd58e8a",
                "blockchain": "ETH"
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.wallet_screening.screen(
                wallet_address="0x94f1b9b64e2932f6a2db338f616844400cd58e8a",
                blockchain="ETH",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.walletScreening.screen({
              wallet_address: "0x94f1b9b64e2932f6a2db338f616844400cd58e8a",
              blockchain: "ETH",
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.WalletScreening.Screen(ctx, didit.WalletScreeningScreenParams{\n\tWalletAddress: \"0x94f1b9b64e2932f6a2db338f616844400cd58e8a\",\n\tBlockchain:    didit.Some(didit.WalletScreeningScreenParamsBlockchain(\"ETH\")),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.WalletScreeningScreenParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.walletScreening().screen(WalletScreeningScreenParams.builder()
                    .walletAddress("0x94f1b9b64e2932f6a2db338f616844400cd58e8a")
                    .blockchain(WalletScreeningScreenParams.Blockchain.of("ETH"))
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

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

            $result = $didit->walletScreening->screen([
                'wallet_address' => '0x94f1b9b64e2932f6a2db338f616844400cd58e8a',
                'blockchain' => 'ETH',
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.wallet_screening.screen(
              wallet_address: "0x94f1b9b64e2932f6a2db338f616844400cd58e8a",
              blockchain: "ETH"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.WalletScreening.ScreenAsync(new
            WalletScreeningScreenParams

            {
                WalletAddress = "0x94f1b9b64e2932f6a2db338f616844400cd58e8a",
                Blockchain = new WalletScreeningScreenParamsBlockchain("ETH"),
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    WalletScreeningResult:
      type: object
      properties:
        provider:
          type: string
          description: वह प्रदाता जिसने स्क्रीनिंग की (उदा. `merklescience`, `crystal`)।
        screening_type:
          type: string
          enum:
            - WALLET_SCREENING
          description: इस endpoint के लिए हमेशा `WALLET_SCREENING`।
        risk_score:
          type: integer
          description: >-
            सामान्यीकृत 0-100 जोखिम स्कोर। उच्च मान का अर्थ है जोखिम भरी
            संस्थाओं के प्रति अधिक जोखिम। Merkle Science किसी पते को 0-5 तक
            ग्रेड करता है, जो 0, 15, 35, 55, 75 या 95 पर मैप होता है।
        severity:
          type: string
          enum:
            - UNKNOWN
            - LOW
            - MEDIUM
            - HIGH
            - CRITICAL
          description: >-
            `risk_score` से प्राप्त जोखिम बकेट: `0-9` UNKNOWN, `10-39` LOW,
            `40-69` MEDIUM, `70-89` HIGH, `90-100` CRITICAL। `UNKNOWN` सबसे
            निचला बैंड है, कोई अलग नो-डेटा स्थिति नहीं: `risk_score` 0 (सामान्य
            साफ़-पते का मामला) का अर्थ कोई प्रतिकूल आकलन नहीं है, जबकि 1-9 रेंज
            में एक गैर-शून्य स्कोर एक वास्तविक लेकिन उप-LOW सिग्नल है - केवल
            बैंड ही नहीं, बल्कि `risk_score` पढ़ें। `UNKNOWN` को कभी भी
            सकारात्मक कम-जोखिम या स्पष्ट रेटिंग के रूप में न मानें; इसे पास के
            रूप में प्रदर्शित न करें।
        status:
          type: string
          enum:
            - SCREENED
            - PENDING
            - ERROR
          description: स्क्रीनिंग परिणाम की स्थिति।
        summary:
          type: string
          description: स्क्रीनिंग परिणाम का मानव-पठनीय सारांश।
        wallet_address:
          type: string
          description: स्क्रीन किया गया पता, वापस दोहराया गया।
        transaction_hash:
          type: string
          nullable: true
          description: >-
            लेन-देन स्क्रीनिंग फ़ील्ड, रिज़ल्ट शेप के साथ साझा किया गया। वॉलेट
            स्क्रीनिंग परिणाम पर हमेशा `null`।
        blockchain:
          type: string
          description: वह ब्लॉकचेन जिसकी स्क्रीनिंग की गई थी।
        block_timestamp:
          type: string
          nullable: true
          description: >-
            लेन-देन स्क्रीनिंग फ़ील्ड, रिज़ल्ट शेप के साथ साझा किया गया। वॉलेट
            स्क्रीनिंग परिणाम पर हमेशा `null`।
        total_value_usd:
          type: number
          nullable: true
          description: >-
            लेन-देन स्क्रीनिंग फ़ील्ड, रिज़ल्ट शेप के साथ साझा किया गया। वॉलेट
            स्क्रीनिंग परिणाम पर हमेशा `null`।
        fee_usd:
          type: number
          nullable: true
          description: >-
            लेन-देन स्क्रीनिंग फ़ील्ड, रिज़ल्ट शेप के साथ साझा किया गया। वॉलेट
            स्क्रीनिंग परिणाम पर हमेशा `null`।
        sender_rows:
          type: array
          items:
            type: object
          description: >-
            लेन-देन स्क्रीनिंग फ़ील्ड, रिज़ल्ट शेप के साथ साझा किया गया। वॉलेट
            स्क्रीनिंग परिणाम पर हमेशा खाली।
        receiver_rows:
          type: array
          items:
            type: object
          description: >-
            लेन-देन स्क्रीनिंग फ़ील्ड, रिज़ल्ट शेप के साथ साझा किया गया। वॉलेट
            स्क्रीनिंग परिणाम पर हमेशा खाली।
        transaction_flows:
          type: array
          items:
            type: object
          description: >-
            लेन-देन स्क्रीनिंग फ़ील्ड, रिज़ल्ट शेप के साथ साझा किया गया। वॉलेट
            स्क्रीनिंग परिणाम पर हमेशा खाली।
        transaction_flows_status:
          type: string
          nullable: true
          description: >-
            लेन-देन स्क्रीनिंग फ़ील्ड, रिज़ल्ट शेप के साथ साझा किया गया। वॉलेट
            स्क्रीनिंग परिणाम पर हमेशा `null`।
        transaction_flows_error:
          type: string
          nullable: true
          description: >-
            लेन-देन स्क्रीनिंग फ़ील्ड, रिज़ल्ट शेप के साथ साझा किया गया। वॉलेट
            स्क्रीनिंग परिणाम पर हमेशा `null`।
        source_of_funds:
          type: array
          description: >-
            पते को कहाँ से धन प्राप्त हुआ, निकाय द्वारा एट्रिब्यूट किया गया।
            प्रत्येक प्रविष्टि एक एक्सपोज़र विवरण है।
          items:
            type: object
            properties:
              category:
                type: string
                description: >-
                  सामान्यीकृत जोखिम श्रेणी, उदाहरण के लिए `exchange_licensed`,
                  `dex`, `defi`, `payment_processor`, `mixer`, `darknet_market`,
                  `sanctioned`, `stolen_funds`, `high_risk_exchange`।
              percentage:
                type: number
                description: दिशा के कुल एक्सपोज़र का हिस्सा, 0-100।
              amount_usd:
                type: number
                nullable: true
                description: इस संस्था के लिए एट्रिब्यूट किया गया USD मूल्य।
              entity_name:
                type: string
                nullable: true
                description: >-
                  संबद्ध इकाई का नाम, उदाहरण के लिए कोई एक्सचेंज, मिक्सर या
                  प्रतिबंधित समूह।
              entity_type:
                type: string
                nullable: true
                description: >-
                  प्रदाता निकाय प्रकार (उदा. `Exchange`, `DeFi`, `Sanctions`,
                  `Theft`)।
              entity_subtype:
                type: string
                nullable: true
                description: >-
                  अधिक विस्तृत उपप्रकार (उदा. `Mandatory KYC and AML`, `OFAC`,
                  `Yield Aggregator`)।
              hops:
                type: integer
                nullable: true
                description: >-
                  इकाई तक हॉप्स की संख्या (प्रत्यक्ष प्रतिपक्ष के लिए 1), जब
                  प्रदाता इसकी रिपोर्ट करता है। Merkle Science के लिए हमेशा
                  `null`, जो केवल यह रिपोर्ट करता है कि एक्सपोज़र प्रत्यक्ष है
                  या अप्रत्यक्ष: `exposure_type` का उपयोग करें।
              description:
                type: string
                nullable: true
                description: >-
                  `entity_type / entity_subtype`, जैसा कि प्रदाता इकाई को लेबल
                  करता है।
              is_direct:
                type: boolean
                description: True जब `exposure_type` `direct` हो।
              exposure_direction:
                type: string
                enum:
                  - incoming
                  - outgoing
                  - connected
                description: >-
                  क्या फ़ंड इस इकाई से आए (`incoming`) या इस इकाई को गए
                  (`outgoing`)।
              exposure_type:
                type: string
                enum:
                  - direct
                  - indirect
                description: '`direct` (1 हॉप) या `indirect` (मल्टी-हॉप) एक्सपोज़र।'
              provider_entity_id:
                type: string
                nullable: true
                description: इकाई के लिए प्रदाता का अपना पहचानकर्ता।
              provider_entity_type_id:
                type: string
                nullable: true
                description: '`entity_type` के लिए प्रदाता का अपना पहचानकर्ता।'
              provider_entity_subtype_id:
                type: string
                nullable: true
                description: '`entity_subtype` के लिए प्रदाता का अपना पहचानकर्ता।'
              country:
                type: string
                nullable: true
                description: >-
                  इकाई का प्राथमिक ISO 3166-1 alpha-2 देश। प्रदाता को इसकी
                  जानकारी न होने पर खाली या `null`।
              raw_amount:
                type: number
                nullable: true
                description: एसेट की अपनी इकाई में राशि, जब प्रदाता इसे रिपोर्ट करता है।
              raw_currency:
                type: string
                nullable: true
                description: '`raw_amount` की इकाई, जब प्रदाता इसे रिपोर्ट करता है।'
        destination_of_funds:
          type: array
          description: >-
            पते ने कहाँ धन भेजा, निकाय द्वारा एट्रिब्यूट किया गया।
            `exposure_direction` = `outgoing` के साथ `source_of_funds` के समान
            आइटम संरचना।
          items:
            type: object
            properties:
              category:
                type: string
                description: >-
                  सामान्यीकृत जोखिम श्रेणी, उदाहरण के लिए `exchange_licensed`,
                  `dex`, `defi`, `payment_processor`, `mixer`, `darknet_market`,
                  `sanctioned`, `stolen_funds`, `high_risk_exchange`।
              percentage:
                type: number
                description: दिशा के कुल एक्सपोज़र का हिस्सा, 0-100।
              amount_usd:
                type: number
                nullable: true
                description: इस संस्था के लिए एट्रिब्यूट किया गया USD मूल्य।
              entity_name:
                type: string
                nullable: true
                description: >-
                  संबद्ध इकाई का नाम, उदाहरण के लिए कोई एक्सचेंज, मिक्सर या
                  प्रतिबंधित समूह।
              entity_type:
                type: string
                nullable: true
                description: >-
                  प्रदाता निकाय प्रकार (उदा. `Exchange`, `DeFi`, `Sanctions`,
                  `Theft`)।
              entity_subtype:
                type: string
                nullable: true
                description: >-
                  अधिक विस्तृत उपप्रकार (उदा. `Mandatory KYC and AML`, `OFAC`,
                  `Yield Aggregator`)।
              hops:
                type: integer
                nullable: true
                description: >-
                  इकाई तक हॉप्स की संख्या (प्रत्यक्ष प्रतिपक्ष के लिए 1), जब
                  प्रदाता इसकी रिपोर्ट करता है। Merkle Science के लिए हमेशा
                  `null`, जो केवल यह रिपोर्ट करता है कि एक्सपोज़र प्रत्यक्ष है
                  या अप्रत्यक्ष: `exposure_type` का उपयोग करें।
              description:
                type: string
                nullable: true
                description: >-
                  `entity_type / entity_subtype`, जैसा कि प्रदाता इकाई को लेबल
                  करता है।
              is_direct:
                type: boolean
                description: True जब `exposure_type` `direct` हो।
              exposure_direction:
                type: string
                enum:
                  - incoming
                  - outgoing
                  - connected
                description: >-
                  क्या फ़ंड इस इकाई से आए (`incoming`) या इस इकाई को गए
                  (`outgoing`)।
              exposure_type:
                type: string
                enum:
                  - direct
                  - indirect
                description: '`direct` (1 हॉप) या `indirect` (मल्टी-हॉप) एक्सपोज़र।'
              provider_entity_id:
                type: string
                nullable: true
                description: इकाई के लिए प्रदाता का अपना पहचानकर्ता।
              provider_entity_type_id:
                type: string
                nullable: true
                description: '`entity_type` के लिए प्रदाता का अपना पहचानकर्ता।'
              provider_entity_subtype_id:
                type: string
                nullable: true
                description: '`entity_subtype` के लिए प्रदाता का अपना पहचानकर्ता।'
              country:
                type: string
                nullable: true
                description: >-
                  इकाई का प्राथमिक ISO 3166-1 alpha-2 देश। प्रदाता को इसकी
                  जानकारी न होने पर खाली या `null`।
              raw_amount:
                type: number
                nullable: true
                description: एसेट की अपनी इकाई में राशि, जब प्रदाता इसे रिपोर्ट करता है।
              raw_currency:
                type: string
                nullable: true
                description: '`raw_amount` की इकाई, जब प्रदाता इसे रिपोर्ट करता है।'
        counterparty_connections:
          type: array
          description: >-
            वे संस्थाएँ जिनसे प्रदाता जाँचे गए पते को संबद्ध करता है। Merkle
            Science के लिए ये पते के अपने स्वामी और उपयोगकर्ता टैग से आती हैं,
            इसलिए एक ही संस्था दो बार दिखाई दे सकती है, और वे कोई फ़ंड फ़्लो
            नहीं ले जाती हैं: `received_usd`, `sent_usd`, `received_hops` और
            `sent_hops` `null` हैं और `percentage` 0 है। यहाँ `risk_level` या
            `is_direct` पर रूट न करें: निर्णय के लिए `sanctions_hit`,
            `dominant_risk_category` और `risk_factors[].is_high_risk` का उपयोग
            करें, और प्रत्यक्षता के लिए `source_of_funds`/`destination_of_funds`
            में `exposure_type` का उपयोग करें।
          items:
            type: object
            properties:
              entity_name:
                type: string
                nullable: true
                description: संबद्ध इकाई का नाम।
              entity_type:
                type: string
                nullable: true
                description: प्रदाता निकाय प्रकार।
              entity_subtype:
                type: string
                nullable: true
                description: प्रदाता निकाय उपप्रकार।
              risk_level:
                type: string
                description: >-
                  लोअरकेस और प्रदाता-निर्भर। Merkle Science के लिए यह पते का
                  अपना 0-5 जोखिम स्तर (`no_risk`, `low`, `medium_low`, `medium`,
                  `high`, `critical`) है, जिसे इकाई की श्रेणी उच्च जोखिम होने पर
                  बढ़ाकर `high` कर दिया जाता है; यह इकाई का कोई अलग स्तर नहीं
                  है।
              categories:
                type: array
                items:
                  type: string
                description: संस्था की सामान्यीकृत जोखिम श्रेणियां।
              received_usd:
                type: number
                nullable: true
                description: संस्था से प्राप्त USD, जब प्रदाता इसकी रिपोर्ट करता है।
              sent_usd:
                type: number
                nullable: true
                description: संस्था को भेजा गया USD, जब प्रदाता इसकी रिपोर्ट करता है।
              received_hops:
                type: integer
                nullable: true
                description: >-
                  प्राप्तकर्ता पक्ष पर मौजूद निकाय के लिए हॉप्स, जब प्रदाता उनकी
                  रिपोर्ट करता है।
              sent_hops:
                type: integer
                nullable: true
                description: >-
                  प्रेषक पक्ष पर मौजूद निकाय के लिए हॉप्स, जब प्रदाता उनकी
                  रिपोर्ट करता है।
              percentage:
                type: number
                description: >-
                  पते के एक्सपोज़र का हिस्सा, जब प्रदाता इसे रिपोर्ट करता है;
                  अन्यथा 0।
              is_direct:
                type: boolean
                description: >-
                  Merkle Science के लिए हमेशा `true`, जिसके कनेक्शन प्रतिपक्षों
                  के बजाय एट्रिब्यूशन हैं।
              country:
                type: string
                nullable: true
                description: इकाई का देश, जब ज्ञात हो।
              provider_entity_id:
                type: string
                nullable: true
                description: इकाई के लिए प्रदाता का अपना पहचानकर्ता।
        network_nodes:
          type: array
          items:
            type: object
          description: >-
            लेन-देन स्क्रीनिंग के लिए एक्सपोज़र ग्राफ़ नोड। वॉलेट स्क्रीनिंग
            परिणाम में खाली।
        network_edges:
          type: array
          items:
            type: object
          description: >-
            लेन-देन स्क्रीनिंग के लिए एक्सपोज़र ग्राफ़ एज। वॉलेट स्क्रीनिंग
            परिणाम में खाली।
        sanctions_hit:
          type: boolean
          description: यदि पते पर प्रत्यक्ष या अप्रत्यक्ष प्रतिबंध जोखिम है तो True।
        pep_counterparty:
          type: boolean
          description: >-
            राजनीतिक रूप से उजागर व्यक्ति से संबंधित एक्सपोज़र। जब कोई PEP
            परिणाम उपलब्ध न हो तब `null`, जो कि आज का हर परिणाम है क्योंकि कोई
            भी प्रदाता इसकी रिपोर्ट नहीं करता; केवल एक स्पष्ट नकारात्मक
            स्क्रीनिंग परिणाम के लिए `false`। `null` को पूर्ण PEP जांच न समझें।
          nullable: true
        dominant_risk_category:
          type: string
          nullable: true
          description: >-
            उच्चतम भारित उच्च-जोखिम वाली श्रेणी, या कोई प्रमुख न होने पर `null`
            (उदा. `sanctioned`, `mixer`, `stolen_funds`)।
        risk_factors:
          type: array
          description: >-
            `risk_score` का क्रमबद्ध स्पष्टीकरण: इस निर्णय को उत्पन्न करने वाले
            कारक। प्रदाता अपने स्वयं के मॉडल पर पते का मूल्यांकन करते हैं और
            केवल एक निर्णय लौटाते हैं (Merkle Science एक पूर्णांक 0-5 लौटाता
            है), इसलिए केवल स्कोर पर कार्रवाई नहीं की जा सकती। पहले उच्च-जोखिम
            वाले, फिर प्रत्येक कारक के माध्यम से स्थानांतरित मूल्य के अनुसार
            क्रमित, अधिकतम पाँच सबसे मजबूत कारकों तक सीमित; `source_of_funds` और
            `destination_of_funds` में हमेशा पूरा ब्रेकडाउन होता है। बिना किसी
            `is_high_risk` प्रविष्टि वाले उच्च `risk_score` का अर्थ है कि
            प्रदाता ने किसी प्रतिबंध या संबद्ध-इकाई मिलान की सूचना नहीं दी और
            पते का मूल्यांकन विशुद्ध रूप से अपने स्वयं के एक्सपोज़र मॉडल पर किया
            - `summary` इसे स्पष्ट रूप से बताता है।
          items:
            type: object
            properties:
              source:
                type: string
                enum:
                  - attribution
                  - exposure
                description: >-
                  `attribution` वह है जो प्रदाता कहता है कि पता स्वयं क्या है
                  (उसका अपना टैग या क्लस्टर); `exposure` वह है जहाँ उसका धन
                  वास्तव में स्थानांतरित हुआ।
              category:
                type: string
                description: >-
                  सामान्यीकृत जोखिम श्रेणी, एक्सपोज़र ब्रेकडाउन के समान
                  शब्दावली।
              label:
                type: string
                description: >-
                  ड्राइवर के लिए प्रदाता की अपनी शब्दावली (उदा. `Gambling /
                  Crypto only`), जिसे आप प्रदाता के कंसोल में भी देखेंगे।
              entity_name:
                type: string
                nullable: true
                description: >-
                  ड्राइवर के पीछे संबद्ध इकाई, उदाहरण के लिए कोई जुआ साइट या
                  एक्सचेंज।
              direction:
                type: string
                enum:
                  - incoming
                  - outgoing
                  - connected
                  - unknown
                  - attribution
                description: >-
                  फ़ंड प्रवाह की दिशा, `attribution` जब ड्राइवर पते का अपना टैग
                  हो, या `unknown` जब प्रदाता ने किसी दिशा की रिपोर्ट न की हो।
              exposure_type:
                type: string
                enum:
                  - direct
                  - indirect
                  - unknown
                  - attribution
                description: >-
                  `direct` (1 हॉप) या `indirect` (मल्टी-हॉप), पते के अपने टैग के
                  लिए `attribution`, या `unknown` जब प्रदाता ने यह नहीं बताया कि
                  प्रतिपक्ष कितने हॉप दूर है। `unknown` को अवर्गीकृत मानें,
                  `direct` के रूप में नहीं।
              amount_usd:
                type: number
                format: float
                nullable: true
                description: इस ड्राइवर के लिए एट्रिब्यूट किया गया USD मूल्य।
              percentage:
                type: number
                format: float
                description: >-
                  पते के कुल (TOTAL) स्क्रीन किए गए वॉल्यूम का हिस्सा, दोनों
                  दिशाओं को मिलाकर - `source_of_funds`/`destination_of_funds` के
                  अंदर `percentage` के विपरीत, जो प्रति दिशा सामान्यीकृत होता
                  है। पूरी सूची में तुलनीय और जोड़ने योग्य।
              is_high_risk:
                type: boolean
                description: >-
                  क्या श्रेणी वह है जिसे Didit उच्च जोखिम मानता है
                  (`sanctioned`, `mixer`, `stolen_funds`, `ransomware`, `scam`,
                  `darknet_market`, `terrorist_financing`, `child_exploitation`,
                  `hacked_exchange`, `high_risk_exchange`, `seized_funds`)।
              description:
                type: string
                description: >-
                  ड्राइवर का एक पंक्ति का रेंडरिंग, उदा. `9.01% indirect
                  outgoing exposure to Gambling / Crypto only (Example
                  Gambling)`।
        raw_response:
          type: object
          additionalProperties: true
          description: >-
            प्रदाता का अपना payload। इसका आकार प्रदाता-विशिष्ट है और बिना किसी
            सूचना के बदल सकता है: इसे पार्स करने के बजाय सामान्यीकृत फ़ील्ड
            पढ़ें।
        report_signature:
          type: string
          description: >-
            इस सटीक परिणाम पर अपारदर्शी HMAC-SHA256 हस्ताक्षर, जो आपके एप्लिकेशन
            तक सीमित है। अपने आप में इसका कोई अर्थ नहीं है — इसे PDF के रूप में
            प्रस्तुत करने के लिए पूरे रिस्पॉन्स बॉडी को, बिना किसी बदलाव के और
            इस फ़ील्ड सहित, `POST /v3/wallet-screening/pdf/` पर पुनः पोस्ट करें।
            यदि `report_signature` मौजूद नहीं है या पुनः पोस्ट करने से पहले किसी
            भी हस्ताक्षरित फ़ील्ड (उदा. `risk_score`, `severity`,
            `sanctions_hit`) को संपादित किया गया था, तो PDF endpoint अनुरोध को
            `400` के साथ अस्वीकार कर देता है।
      required:
        - provider
        - screening_type
        - risk_score
        - severity
        - status
        - summary
        - wallet_address
        - blockchain
        - sanctions_hit
        - dominant_risk_category
        - source_of_funds
        - destination_of_funds
        - counterparty_connections
        - report_signature
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys
        से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप
        किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या
        स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक
        सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी
        समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी,
        कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP
        सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी
        के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को
        छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write
        के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं।
        देखें https://docs.didit.me/console/api-keys।

````

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