> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wavynode.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scan risk

> Retrieves risk analysis results for one or more blockchain addresses. Requires Developer role.

<Note>
  Use this endpoint to retrieve previously analyzed risk results without triggering a new scan. Results are cached and updated periodically.
</Note>

For an overview of how risk scores work, see [Risk scores](/concepts/risk). For detailed information about detected patterns and response examples, see [Risk analysis](/concepts/risk-analysis).

<Warning>
  Addresses with `riskLevel: "critical"` should be reported to the regulator per applicable regulations. See [Regulations](/concepts/regulations) for details.
</Warning>

## Related resources

<CardGroup cols={2}>
  <Card title="Risk scores" icon="gauge" href="/concepts/risk">
    Learn how Wavy Node calculates risk scores and recommended actions by risk level.
  </Card>

  <Card title="Risk analysis" icon="magnifying-glass-chart" href="/concepts/risk-analysis">
    Technical reference with pattern weights, severity levels, and detailed examples.
  </Card>

  <Card title="Addresses" icon="map-pin" href="/api-reference/endpoint/list-addresses">
    Manage relevant on-chain addresses for compliance monitoring.
  </Card>
</CardGroup>


## OpenAPI

````yaml GET /projects/{projectId}/addresses/scan-risk
openapi: 3.1.0
info:
  title: Wavy Node API
  description: >-
    Compliance, fraud prevention, and risk analysis API for payment providers
    and cryptocurrency exchanges in Latin America.
  version: 1.0.0
  contact:
    name: Wavy Node Support
    email: support@wavynode.com
servers:
  - url: https://api.wavynode.com/v1
    description: Production
security:
  - apiKeyAuth: []
paths:
  /projects/{projectId}/addresses/scan-risk:
    get:
      tags:
        - Scan Risk
      summary: Scan risk
      description: >-
        Retrieves existing risk analysis results for one or more addresses.
        Returns the latest completed analysis per address+chain combination.
        Requires Developer role.
      operationId: getScanRiskResults
      parameters:
        - name: projectId
          in: path
          required: true
          description: The project ID
          schema:
            type: string
        - name: addresses
          in: query
          required: true
          description: Comma-separated list of wallet addresses to query (max 100)
          schema:
            type: string
        - name: chainId
          in: query
          required: false
          description: Filter results by chain ID
          schema:
            type: string
      responses:
        '200':
          description: Scan risk results
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: object
                    properties:
                      total:
                        type: integer
                        description: Number of addresses with results
                      missing:
                        type: integer
                        description: Number of addresses without analysis
                      results:
                        type: array
                        items:
                          $ref: '#/components/schemas/ScanRiskQueryResult'
                      missingAddresses:
                        type: array
                        items:
                          type: string
                        description: Addresses that have no completed analysis
        '400':
          description: >-
            Invalid request parameters (e.g., no addresses provided, too many
            addresses)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Insufficient permissions (requires Developer role)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ScanRiskQueryResult:
      type: object
      properties:
        analysisId:
          type: string
          description: Analysis UUID
        address:
          type: string
          description: Wallet address
        chainId:
          type: string
          description: Chain ID
        riskScore:
          type: integer
          description: Risk score (0-100)
        suspiciousActivity:
          type: boolean
        patternsDetected:
          type: integer
          description: Number of patterns detected
        transactionsAnalyzed:
          type: integer
        completedAt:
          type: string
          format: date-time
        riskLevel:
          type: string
          enum:
            - minimal
            - low
            - medium
            - high
            - critical
        riskReason:
          type: string
        patterns:
          type: array
          items:
            type: string
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          description: Error code
        message:
          type: string
          description: Error description
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Enter the full value with the `ApiKey` prefix. Example: `ApiKey
        wavy_your-api-key`. The prefix is required for authentication.

````