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

# Risk Levels

> Understand Webacy overallRisk scoring from 0 to 100, low, medium, and high risk classifications, and how to tune thresholds for your use case.

## Risk Score Overview

The Webacy API returns an `overallRisk` score from 0 to 100, where higher scores indicate greater risk.

<Tip>
  Risk levels are guidelines and may need adjustment for your specific use case. We recommend examining the response fields and specific issue tags to build more robust, customized risk policies.
</Tip>

## Risk Classifications

| Overall Risk Range | Classification | Meaning                                |
| ------------------ | -------------- | -------------------------------------- |
| 0 - 23             | Low Risk       | Address shows minimal risk indicators  |
| 23.1 - 50          | Medium Risk    | Address has some concerning signals    |
| 50.1 - 100         | High Risk      | Address shows significant risk factors |

## Response Fields

The API returns several risk-related fields:

```json theme={null}
{
  "overallRisk": 25.99,
  "count": 3,
  "medium": 2,
  "high": 1,
  "issues": [
    {
      "tag": "wash_trading",
      "severity": "medium",
      "description": "Address has engaged in wash trading"
    }
  ]
}
```

| Field         | Description                               |
| ------------- | ----------------------------------------- |
| `overallRisk` | Aggregate risk score (0-100)              |
| `count`       | Total number of risk flags detected       |
| `medium`      | Count of medium-severity issues           |
| `high`        | Count of high-severity issues             |
| `issues`      | Array of specific risk flags with details |

## Issue Severity Levels

Individual risk issues have their own severity:

| Severity   | Weight           | Examples                                                 |
| ---------- | ---------------- | -------------------------------------------------------- |
| **Low**    | Minor impact     | `insufficient_wallet_age`, `insufficient_wallet_balance` |
| **Medium** | Moderate concern | `wash_trading`, `is_proxy`, `freezeable`                 |
| **High**   | Significant risk | `sanctioned`, `hacker`, `drainer`, `rugged`              |

## Calculating Custom Risk Scores

You can build custom risk logic using the raw data:

```javascript theme={null}
function calculateCustomRisk(response) {
  const { count, medium, high, issues } = response;

  // Custom weighting
  let score = 0;
  score += high * 30;      // High severity issues
  score += medium * 15;    // Medium severity issues
  score += (count - high - medium) * 5;  // Low severity

  return Math.min(score, 100);
}
```

## Using Modules for Targeted Analysis

Use [modules](/essentials/modules) to request specific risk categories:

* **Security-focused**: `security_essentials`, `token_security`, `fraud_detection`
* **Compliance-focused**: `sanctions_compliance`, `mixer_detection`
* **Investment-focused**: `holder_analysis`, `liquidity_analysis`, `market_data`

<Warning>
  When using modules, the risk score reflects only the selected modules, not a comprehensive assessment.
</Warning>

## Best Practices

1. **Don't rely solely on `overallRisk`** - Review individual `issues` for context
2. **Consider the use case** - Trading apps may weight different risks than compliance tools
3. **Use appropriate modules** - Select modules relevant to your risk assessment needs
4. **Combine with other signals** - Use risk scores alongside your own business logic
