> ## 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のAPIで、取引を作成せずに暗号資産ウォレットアドレス1件のAMLリスクをスクリーニング。資金源、制裁への関与、リスクスコアを取得できます。従量課金で1回$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 ja/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接続がある場合にのみ利用できます。transactionsテーブルには何も書き込まれません。スクリーニングが成功するごとに、AMLモニタリングの利用1件分が請求されます（サンドボックスアプリケーションには請求されません）。
      operationId: screenWallet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_address
              properties:
                wallet_address:
                  type: string
                  description: >-
                    スクリーニング対象の暗号資産アドレスまたはネットワーク識別子。選択したネットワークと一致する必要があります(例:EVMチェーンの場合は`0x`で始まる40文字の16進数アドレス)。エイリアス:`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: >-
            すべてのEVMネットワークで共通の`0x`アドレスに対して`blockchain`が省略されました。スクリーニングも課金も行われていません。`blockchain`を`candidate_chains`のいずれかに設定して再送信してください。
          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: このエンドポイントでは常に`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`です。Merkle
                  Scienceはエクスポージャーが直接か間接かのみを報告するため、`exposure_type`を使用してください。
              description:
                type: string
                nullable: true
                description: プロバイダーによるエンティティのラベルどおりの`entity_type / entity_subtype`。
              is_direct:
                type: boolean
                description: '`exposure_type`が`direct`の場合はtrue。'
              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: >-
            このアドレスが資金を送った送金先（エンティティ別に帰属を特定）。項目の形式は`source_of_funds`と同じで、`exposure_direction`
            = `outgoing`です。
          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`です。Merkle
                  Scienceはエクスポージャーが直接か間接かのみを報告するため、`exposure_type`を使用してください。
              description:
                type: string
                nullable: true
                description: プロバイダーによるエンティティのラベルどおりの`entity_type / entity_subtype`。
              is_direct:
                type: boolean
                description: '`exposure_type`が`direct`の場合はtrue。'
              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の場合、これらはアドレス自体の所有者タグとユーザータグから取得されるため、同じエンティティが2回表示されることがあり、資金フローは含まれません。`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`です。Merkle
                  Scienceの接続は取引相手ではなく帰属情報であるためです。
              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)への該当状況。PEPの検出結果がない場合は`null`となり、現時点ではPEPの結果を報告するプロバイダーがないため、すべての結果がこれに該当します。`false`は、スクリーニングで明示的に否定的な結果が出た場合にのみ返されます。`null`をPEPチェック完了と解釈しないでください。
          nullable: true
        dominant_risk_category:
          type: string
          nullable: true
          description: >-
            最も重みの高い高リスクカテゴリです(例:
            `sanctioned`、`mixer`、`stolen_funds`)。支配的なカテゴリがない場合は`null`です。
        risk_factors:
          type: array
          description: >-
            `risk_score`の順位付きの説明で、この判定を導いた要因を示します。プロバイダーは独自のモデルでアドレスを評価し、判定のみを返すため（Merkle
            Scienceは0〜5の整数を返します）、スコアだけでは対応に活かせません。高リスクのものを先頭に、次に各ドライバーを経由した金額の大きい順に並べ、上位5件までに制限されます。`source_of_funds`と`destination_of_funds`には常に完全な内訳が含まれます。`risk_score`が高いにもかかわらず`is_high_risk`のエントリがない場合は、プロバイダーが制裁や帰属エンティティとの一致を報告しておらず、独自のエクスポージャーモデルのみでアドレスを評価したことを意味します。このことは`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: >-
                  双方向を合算した、そのアドレスのスクリーニング対象の総量に占める割合。方向ごとに正規化される`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: >-
                  ドライバーの1行表現です。例: `9.01% indirect outgoing exposure to Gambling
                  / Crypto only (Example Gambling)`。
        raw_response:
          type: object
          additionalProperties: true
          description: >-
            プロバイダー独自のペイロードです。形式はプロバイダーごとに異なり、予告なく変更される場合があります。解析せずに、正規化されたフィールドを参照してください。
        report_signature:
          type: string
          description: >-
            この結果そのものに対する不透明なHMAC-SHA256署名で、アプリケーションにスコープされています。単体では意味を持ちません。PDFとして出力するには、このフィールドを含むレスポンス本文全体を変更せずに`POST
            /v3/wallet-screening/pdf/`へ再送信してください。`report_signature`が欠落している場合、または署名対象のフィールド（例:
            `risk_score`、`severity`、`sanctions_hit`）が再送信前に編集されていた場合、PDFエンドポイントはリクエストを`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で取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権（なし、読み取り、書き込み）、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください:
        https://docs.didit.me/console/api-keys

````

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