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

# Risks

> The shape of each detected risk, and the full set of categories.

Each entry in `vulnerabilities` describes one detected risk. The fields below tell you what it is, how serious it is, and whether it is currently active.

## The risk object

<ResponseField name="type" type="string">
  The risk category. See the [full list](#categories) below. Treat it as an open set and handle an unknown value gracefully.
</ResponseField>

<ResponseField name="impact" type="string">
  How seriously this risk affects a holder: `critical`, `warning`, or `info`.
</ResponseField>

<ResponseField name="description" type="string">
  A plain-language explanation of the risk.
</ResponseField>

<ResponseField name="code" type="string">
  A representative snippet of the relevant code for this risk.
</ResponseField>

<ResponseField name="codes" type="string[]">
  All relevant snippets when several functions share the same risk. `code` is the first of them. Present only when more than one applies.
</ResponseField>

<ResponseField name="mitigated" type="boolean | null">
  Whether this specific risk is currently neutralized, for example when the controlling owner has renounced. `null` when not applicable.
</ResponseField>

<ResponseField name="gateReason" type="string | null">
  A display-ready, human-readable explanation of the current state, e.g. `"Owner renounced"` or `"MINTER_ROLE has 2 active holders"`.
</ResponseField>

## Impact tiers

| Impact     | Meaning                                                                    |
| ---------- | -------------------------------------------------------------------------- |
| `critical` | Can directly cause loss: funds drained, supply inflated, transfers seized. |
| `warning`  | Owner-controlled behavior that can harm holders under certain conditions.  |
| `info`     | Worth surfacing, but low risk on its own.                                  |

## Categories

The `type` field uses the values below. The set is additive. New categories may be introduced, so handle an unknown value gracefully.

| Category               | What it means for a holder                                                                                |
| ---------------------- | --------------------------------------------------------------------------------------------------------- |
| `UnlimitedMinting`     | The supply can be inflated after launch, diluting holders.                                                |
| `UnauthorizedTransfer` | Tokens can be moved out of holder wallets without consent, or unlimited allowances extracted.             |
| `HiddenFees`           | Transfer fees exist or can be changed at will, skimming value from trades.                                |
| `LiquidityDrain`       | Contract funds or pool liquidity can be withdrawn by a privileged party: a rug pull.                      |
| `MaliciousUpgrade`     | The contract can be upgraded or destroyed, changing its behavior after you've bought in.                  |
| `UnsafeExternalCall`   | Unsafe external calls or reentrancy that can be exploited to drain funds.                                 |
| `BlacklistAbuse`       | Specific addresses can be frozen or blocked from transferring.                                            |
| `TradeRestriction`     | Transfers can be blocked, throttled, or conditioned: trading toggles, cooldowns, or per-transaction caps. |
| `Other`                | A holder-impacting risk that doesn't fit the categories above. Used sparingly.                            |

<Tip>
  To show only actively dangerous risks, filter to `impact !== "info"` and `mitigated !== true`. Use `gateReason` for a ready-to-display status line.
</Tip>
