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

# Risk scores

> How Wavy Node calculates risk scores for blockchain addresses using deterministic pattern-based analysis.

Wavy Node assigns a risk score from 0 to 100 to each analyzed blockchain address. The scoring system is deterministic (same inputs always produce the same outputs) and pattern-based: every score is derived from the suspicious patterns detected in the address's transaction graph.

## Risk scale

| Range  | Level    | Recommended action                   |
| ------ | -------- | ------------------------------------ |
| 0-19   | Minimal  | No action needed                     |
| 20-39  | Low      | Passive monitoring                   |
| 40-59  | Medium   | Investigation recommended            |
| 60-79  | High     | Priority investigation               |
| 80-100 | Critical | Immediate action / regulatory report |

<Note>
  A score of `0` means no suspicious patterns were detected, not that the address was verified by a third party.
</Note>

## How the score is calculated

The score is the weighted sum of every detected pattern, adjusted by its severity, capped at 100:

```
score = min(Σ pattern_weight × severity_multiplier, 100)
```

| Severity   | Multiplier |
| ---------- | ---------- |
| `critical` | 1.2        |
| `high`     | 1.0        |
| `medium`   | 0.7        |
| `low`      | 0.4        |

For example, a single `mixing` pattern detected as `critical` scores 72 (60 × 1.2), while an `exchange_hopping` pattern at `medium` scores 14 (20 × 0.7).

<AccordionGroup>
  <Accordion title="Detected patterns" icon="magnifying-glass">
    The engine analyzes the transaction graph to detect suspicious patterns like mixing, peel chains, structuring, and more. Each pattern has a base weight (e.g. `mixing` and `malicious_actor` weight 60, `peel_chain` 50, `round_tripping` 40) that is multiplied by the severity multiplier of the detected severity. See [Risk analysis](/concepts/risk-analysis) for the full weight table.
  </Accordion>

  <Accordion title="Detection context" icon="tag">
    Address labels guide the detection process but never discount the score. For example, smart contracts skip `wash_trading` and `exchange_hopping` detection, and exchanges, mixers, bridges, and addresses with more than 500 interactions are treated as opaque nodes in the graph.
  </Accordion>

  <Accordion title="Determinism and caching" icon="chart-line">
    The system is fully deterministic: the same address and date range always produce the same result. Quick checks are cached for 1 hour and async analysis jobs for 24 hours.
  </Accordion>
</AccordionGroup>

## Actions by risk level

| Level             | Monitoring | Investigation | Report   | Block    |
| ----------------- | ---------- | ------------- | -------- | -------- |
| Minimal (0-19)    | Standard   | No            | No       | No       |
| Low (20-39)       | Increased  | Optional      | No       | No       |
| Medium (40-59)    | Intensive  | Yes           | Evaluate | No       |
| High (60-79)      | Continuous | Urgent        | Yes      | Evaluate |
| Critical (80-100) | Real-time  | Immediate     | Required | Yes      |

## Reading the result

Each result includes:

* `risk` — the score from 0 to 100
* `patterns` — the detected patterns, each with `name`, `severity`, `involvedWallets`, `involvedTxs`, `usdAmount`, and a human-readable `message`
* `reason` — reserved for additional context; currently always `null`

## Suspicious activity

Escalate an address when any of the following conditions are met:

* Risk score is 70 or higher
* Any pattern with `critical` severity is detected
* Three or more patterns with `high` severity are detected

<Warning>
  The risk scoring system is essential for compliance with regulations such as FATF recommendations, Travel Rule, Mexico's Fintech Law, and LFPIORPI.
</Warning>

<Card title="Risk analysis" icon="table" href="/concepts/risk-analysis">
  See the full technical reference with pattern weights, severity levels, and detailed examples.
</Card>
