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

# Sanctions and Blacklist Check

> Check if a blockchain address is blacklisted by stablecoin issuers or listed on OFAC sanctions list.


Check if a blockchain address is blacklisted by token issuers (e.g. Tether, Circle, Coinbase, Paxos) or sanctioned by the US Treasury's Office of Foreign Assets Control (OFAC). See [Understanding Risk Scores](/risk-api/product-info/understanding-risk-scores) for how this fits into Range's broader risk methodology.

* **Token Blacklist Events**: Real-time monitoring on Ethereum, Tron, and Solana for specific stablecoin issuers.
* **OFAC Sanctions**: Sourced from official OFAC reports and covers any network published by OFAC.

<Info>
  **Sanctions & Blacklists Only:** This endpoint checks if a wallet has been sanctioned (OFAC, EU, etc) or blacklisted by asset issuers (Circle, Tether etc). For a more comprehensive check for malicious actors, use the [Address Risk Score](/risk-api/risk/get-address-risk-score) endpoint.
</Info>

***

## How It Works

The endpoint performs two types of checks:

1. **Token Blacklist Check**: Monitors onchain blacklist events emitted by stablecoin issuer contracts on **Ethereum, Tron, and Solana**. When issuers like Tether or Circle blacklist an address, it is blocked from transferring their tokens. The endpoint tracks both `blacklist` and `unblacklist` events in real-time to determine the **current** status.

2. **OFAC Sanctions Check**: Cross-references the address against the US Treasury OFAC Specially Designated Nationals (SDN) list. OFAC data is sourced from official published reports and covers any network published by OFAC.

3. **Attribution Data**: In addition to real-time blacklist events, the endpoint includes attribution labels that may provide extended context and information beyond what is captured in onchain events.

> **Note:** The `is_token_blacklisted` field reflects the **current** status based on the most recent event. An address that was blacklisted and later unblacklisted will show `false`. Use `blacklist_event_history` to view the complete history.

***

## Path Parameters

| Name    | Type   | Required | Description                 |
| ------- | ------ | -------- | --------------------------- |
| address | string | ✅        | Blockchain address to check |

## Query Parameters

| Name             | Type    | Required | Default | Description                                                    |
| ---------------- | ------- | -------- | ------- | -------------------------------------------------------------- |
| network          | string  | ❌        | all     | Filter blacklist events by network                             |
| include\_details | boolean | ❌        | true    | Include event history, token status breakdown, and attribution |

> **Recommendation:** In general, we do **not** recommend using the `network` parameter. Omitting it ensures comprehensive screening across all networks for both blacklist events and OFAC sanctions. Only use the `network` parameter if you have a specific use case, such as:
>
> * Limiting the search to a specific network for performance reasons
> * Checking an address format that exists on multiple networks (e.g., EVM addresses on Ethereum vs other EVM-compatible chains)

***

### OFAC Sanctions Coverage

OFAC sanctions data is sourced from official US Treasury reports and is network-agnostic. If an address appears in OFAC publications, we flag it across all 300+ networks we support. See [Supported Chains](/risk-api/product-info/supported-chains) for full coverage.

### Supported Networks & Tokens (Blacklist Events)

Real-time blacklist event monitoring is available for the following stablecoin issuers:

| Network  | USDT (Tether) | USDC (Circle) | CBBTC (Coinbase) | USDP (Paxos) |
| -------- | :-----------: | :-----------: | :--------------: | :----------: |
| Ethereum |       ✅       |       ✅       |         ✅        |       ✅      |
| Tron     |       ✅       |       ✅       |         —        |       —      |
| Solana   |       ✅       |       ✅       |         —        |       —      |

***

## Response Schema

The response contains the sanctions and blacklist status for the queried address.

```json theme={null}
{
  "address": "0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a",
  "network": "ethereum",
  "is_token_blacklisted": true,
  "is_ofac_sanctioned": false,
  "checked_at": "2025-12-01T15:55:05.354822Z",
  "token_status_summary": [
    {
      "token": "USDT",
      "issuer": "Tether",
      "is_currently_blacklisted": true,
      "first_blacklisted_date": "2023-12-09",
      "last_event_date": "2023-12-09",
      "last_event_type": "blacklist"
    }
  ],
  "blacklist_event_history": [
    {
      "event_type": "blacklist",
      "token": "USDT",
      "issuer": "Tether",
      "network": "ethereum",
      "date": "2023-12-09",
      "block_number": 18749975,
      "block_timestamp": "2023-12-09 17:51:23",
      "transaction_hash": "15fa3cb1cea19b075d8dafeb3a003061f7191025f9ef9d785374786eb4c9e6a2",
      "token_account": null
    }
  ],
  "ofac_info": null,
  "attribution": {
    "name": "cbBTC Blacklisted Address (9b5a)",
    "category": "cbBTC Blacklist",
    "role": "Blacklisted Address",
    "entity": null,
    "tags": ["BLACKLISTED", "STABLECOIN-ISSUER", "COMPLIANCE"],
    "malicious": true
  }
}
```

### Top-Level Fields

| Field                     | Type           | Description                                                                                                         |
| ------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------- |
| `address`                 | string         | The blockchain address that was checked.                                                                            |
| `network`                 | string \| null | The network filter applied. Returns `null` if all networks were checked.                                            |
| `is_token_blacklisted`    | boolean        | `true` if the address is **currently** blacklisted by any stablecoin issuer.                                        |
| `is_ofac_sanctioned`      | boolean        | `true` if the address appears on the OFAC sanctions list.                                                           |
| `checked_at`              | string         | Timestamp (ISO 8601) when this check was performed.                                                                 |
| `token_status_summary`    | array \| null  | Breakdown of blacklist status per token. `null` when `include_details=false` or no blacklist data exists.           |
| `blacklist_event_history` | array \| null  | Chronological list of onchain blacklist/unblacklist events. `null` when `include_details=false` or no events exist. |
| `ofac_info`               | object \| null | Details about the OFAC sanction. `null` if not sanctioned.                                                          |
| `attribution`             | object \| null | Additional labels and context for the address. `null` when `include_details=false` or no attribution exists.        |

### Token Status Summary

Shows the current blacklist status for each token that has flagged this address.

| Field                      | Type    | Description                                                                    |
| -------------------------- | ------- | ------------------------------------------------------------------------------ |
| `token`                    | string  | Token symbol: `USDT`, `USDC`, `CBBTC`, or `USDP`.                              |
| `issuer`                   | string  | The company that issued the token: `Tether`, `Circle`, `Coinbase`, or `Paxos`. |
| `is_currently_blacklisted` | boolean | `true` if the address is currently blocked from using this token.              |
| `first_blacklisted_date`   | string  | When the address was first blacklisted for this token (YYYY-MM-DD).            |
| `last_event_date`          | string  | Date of the most recent blacklist or unblacklist event.                        |
| `last_event_type`          | string  | Either `blacklist` or `unblacklist`. Determines current status.                |

### Blacklist Event History

A chronological record of all onchain blacklist and unblacklist events.

| Field              | Type           | Description                                                           |
| ------------------ | -------------- | --------------------------------------------------------------------- |
| `event_type`       | string         | `blacklist` (address blocked) or `unblacklist` (address unblocked).   |
| `token`            | string         | Token symbol.                                                         |
| `issuer`           | string         | Token issuer.                                                         |
| `network`          | string         | Blockchain where the event occurred: `ethereum`, `tron`, or `solana`. |
| `date`             | string         | Event date (YYYY-MM-DD).                                              |
| `block_number`     | integer        | Block number of the transaction.                                      |
| `block_timestamp`  | string         | Timestamp of the block.                                               |
| `transaction_hash` | string         | Onchain transaction hash for verification.                            |
| `token_account`    | string \| null | The token account address (Solana only). `null` for EVM chains.       |

### OFAC Info

Details about OFAC sanctions. Only present when the address is sanctioned.

| Field                   | Type    | Description                                              |
| ----------------------- | ------- | -------------------------------------------------------- |
| `is_sanctioned`         | boolean | Always `true` when this object is present.               |
| `name_tag`              | string  | Name of the sanctioned individual or entity.             |
| `category`              | string  | Sanction category (e.g., "OFAC Sanctioned").             |
| `entity`                | string  | Sanctioning body (e.g., "OFAC").                         |
| `address_role`          | string  | `Individual` or `Entity`.                                |
| `first_sanctioned_date` | string  | Date when the address was first sanctioned (YYYY-MM-DD). |
| `sanction_url`          | string  | Link to the official OFAC announcement.                  |

### Attribution

Additional context and labels for the address, which may include information beyond onchain events.

| Field       | Type           | Description                                                    |
| ----------- | -------------- | -------------------------------------------------------------- |
| `name`      | string         | Human-readable name or label for the address.                  |
| `category`  | string         | Category (e.g., "USDT Blacklist", "Multi-Provider Blacklist"). |
| `role`      | string         | Role description (e.g., "Blacklisted Address").                |
| `entity`    | string \| null | Associated entity, if known.                                   |
| `tags`      | array \| null  | List of tags (e.g., `["BLACKLISTED", "COMPLIANCE"]`).          |
| `malicious` | boolean        | `true` if the address is considered malicious.                 |

***

## Examples

### Multi-Provider Blacklisted Address

An address blacklisted by multiple stablecoin issuers (USDT, USDC, USDP, CBBTC) on Ethereum.

```bash theme={null}
curl -G "https://api.range.org/v1/risk/sanctions/0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a" \
  -H "Authorization: Bearer your_api_key_here"
```

```json theme={null}
{
  "address": "0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a",
  "network": null,
  "is_token_blacklisted": true,
  "is_ofac_sanctioned": false,
  "checked_at": "2025-12-01T16:05:38.977186Z",
  "token_status_summary": [
    {
      "token": "CBBTC",
      "issuer": "Coinbase",
      "is_currently_blacklisted": true,
      "first_blacklisted_date": "2024-09-09",
      "last_event_date": "2025-09-11",
      "last_event_type": "blacklist"
    },
    {
      "token": "USDC",
      "issuer": "Circle",
      "is_currently_blacklisted": true,
      "first_blacklisted_date": "2021-04-21",
      "last_event_date": "2021-04-21",
      "last_event_type": "blacklist"
    },
    {
      "token": "USDP",
      "issuer": "Paxos",
      "is_currently_blacklisted": true,
      "first_blacklisted_date": "2024-01-03",
      "last_event_date": "2024-01-03",
      "last_event_type": "blacklist"
    },
    {
      "token": "USDT",
      "issuer": "Tether",
      "is_currently_blacklisted": true,
      "first_blacklisted_date": "2023-12-09",
      "last_event_date": "2023-12-09",
      "last_event_type": "blacklist"
    }
  ],
  "blacklist_event_history": [
    {
      "event_type": "blacklist",
      "token": "USDC",
      "issuer": "Circle",
      "network": "ethereum",
      "date": "2021-04-21",
      "block_number": 12285873,
      "block_timestamp": "2021-04-21 23:04:36",
      "transaction_hash": "72959622df120df8cfe27fa371c5b82542cda695d09568975259c0cf70430bf9",
      "token_account": null
    },
    {
      "event_type": "blacklist",
      "token": "USDT",
      "issuer": "Tether",
      "network": "ethereum",
      "date": "2023-12-09",
      "block_number": 18749975,
      "block_timestamp": "2023-12-09 17:51:23",
      "transaction_hash": "15fa3cb1cea19b075d8dafeb3a003061f7191025f9ef9d785374786eb4c9e6a2",
      "token_account": null
    },
    {
      "event_type": "blacklist",
      "token": "USDP",
      "issuer": "Paxos",
      "network": "ethereum",
      "date": "2024-01-03",
      "block_number": 18928262,
      "block_timestamp": "2024-01-03 18:16:59",
      "transaction_hash": "087498e654622570d0c5f8639c1e02db28ea8ac647c31a470f89412387cd0ab4",
      "token_account": null
    },
    {
      "event_type": "blacklist",
      "token": "CBBTC",
      "issuer": "Coinbase",
      "network": "ethereum",
      "date": "2024-09-09",
      "block_number": 20714651,
      "block_timestamp": "2024-09-09 19:49:23",
      "transaction_hash": "b051ee06b9fc656c0a2c8009d2a553a2ba8a09dbaf0eff35c2899197815306f8",
      "token_account": null
    }
  ],
  "ofac_info": null,
  "attribution": {
    "name": "Multi-Provider Blacklisted Address (9b5a)",
    "category": "Multi-Provider Blacklist",
    "role": "Blacklisted Address",
    "entity": null,
    "tags": ["BLACKLISTED", "STABLECOIN-ISSUER", "COMPLIANCE"],
    "malicious": true
  }
}
```

### OFAC Sanctioned and Token Blacklisted

An address that is both OFAC sanctioned and token blacklisted by multiple providers.

```bash theme={null}
curl -G "https://api.range.org/v1/risk/sanctions/0x8576acc5c05d6ce88f4e49bf65bdf0c62f91353c" \
  -H "Authorization: Bearer your_api_key_here"
```

```json theme={null}
{
  "address": "0x8576acc5c05d6ce88f4e49bf65bdf0c62f91353c",
  "network": null,
  "is_token_blacklisted": true,
  "is_ofac_sanctioned": true,
  "checked_at": "2025-12-01T16:06:07.870004Z",
  "token_status_summary": [
    {
      "token": "USDC",
      "issuer": "Circle",
      "is_currently_blacklisted": true,
      "first_blacklisted_date": "2022-03-29",
      "last_event_date": "2022-03-29",
      "last_event_type": "blacklist"
    },
    {
      "token": "USDT",
      "issuer": "Tether",
      "is_currently_blacklisted": true,
      "first_blacklisted_date": "2023-12-09",
      "last_event_date": "2023-12-09",
      "last_event_type": "blacklist"
    }
  ],
  "blacklist_event_history": [
    {
      "event_type": "blacklist",
      "token": "USDC",
      "issuer": "Circle",
      "network": "ethereum",
      "date": "2022-03-29",
      "block_number": 14481178,
      "block_timestamp": "2022-03-29 14:49:03",
      "transaction_hash": "5906c3dac2d75f141b72baa61842a9881e9d31ee36f761ffc7059ffc86c7e452",
      "token_account": null
    },
    {
      "event_type": "blacklist",
      "token": "USDT",
      "issuer": "Tether",
      "network": "ethereum",
      "date": "2023-12-09",
      "block_number": 18750100,
      "block_timestamp": "2023-12-09 18:17:11",
      "transaction_hash": "dbd24a66f187242bf3a8f8ce4a50a4b9143889dc988c7113d2e1069165332534",
      "token_account": null
    }
  ],
  "ofac_info": {
    "is_sanctioned": true,
    "name_tag": "ANDREYEV, Anton Nikolaeyvich",
    "category": "OFAC Sanctioned",
    "entity": "OFAC",
    "address_role": "Individual",
    "first_sanctioned_date": "2020-09-10",
    "sanction_url": "https://ofac.treasury.gov/recent-actions/20200910"
  },
  "attribution": {
    "name": "USDP Blacklisted Address (353c)",
    "category": "Multi-Provider Blacklist",
    "role": "Blacklisted Address",
    "entity": "OFAC",
    "tags": ["BLACKLISTED", "STABLECOIN-ISSUER", "COMPLIANCE"],
    "malicious": true
  }
}
```

### OFAC Sanctioned Only

A Tron address that is OFAC sanctioned but not token blacklisted.

```bash theme={null}
curl -G "https://api.range.org/v1/risk/sanctions/TMGLqRQ4twjW8wJhVH1mQR7nUThpGHUsN3" \
  -H "Authorization: Bearer your_api_key_here"
```

```json theme={null}
{
  "address": "TMGLqRQ4twjW8wJhVH1mQR7nUThpGHUsN3",
  "network": null,
  "is_token_blacklisted": false,
  "is_ofac_sanctioned": true,
  "checked_at": "2025-12-01T16:06:15.993588Z",
  "token_status_summary": null,
  "blacklist_event_history": null,
  "ofac_info": {
    "is_sanctioned": true,
    "name_tag": "GAMBASHIDZE, Ilya Andreevich",
    "category": "OFAC Sanctioned",
    "entity": "OFAC",
    "address_role": "Individual",
    "first_sanctioned_date": "2024-03-20",
    "sanction_url": "https://ofac.treasury.gov/recent-actions/20240703"
  },
  "attribution": {
    "name": "GAMBASHIDZE, Ilya Andreevich",
    "category": "OFAC Sanctioned",
    "role": "Individual",
    "entity": "OFAC",
    "tags": null,
    "malicious": true
  }
}
```

### Solana Blacklisted Address

A Solana address blacklisted by Tether. Note the `token_account` field which is specific to Solana.

```bash theme={null}
curl -G "https://api.range.org/v1/risk/sanctions/6sEk1enayZBGFyNvvJMTP7qs5S3uC7KLrQWaEk38hSHH" \
  -H "Authorization: Bearer your_api_key_here"
```

```json theme={null}
{
  "address": "6sEk1enayZBGFyNvvJMTP7qs5S3uC7KLrQWaEk38hSHH",
  "network": null,
  "is_token_blacklisted": true,
  "is_ofac_sanctioned": false,
  "checked_at": "2025-12-01T16:06:27.732211Z",
  "token_status_summary": [
    {
      "token": "USDT",
      "issuer": "Tether",
      "is_currently_blacklisted": true,
      "first_blacklisted_date": "2022-11-12",
      "last_event_date": "2022-11-12",
      "last_event_type": "blacklist"
    }
  ],
  "blacklist_event_history": [
    {
      "event_type": "blacklist",
      "token": "USDT",
      "issuer": "Tether",
      "network": "solana",
      "date": "2022-11-12",
      "block_number": 160590544,
      "block_timestamp": "2022-11-12 07:26:36",
      "transaction_hash": "5vQBXFxiSgufuLUpm6ugfxynd43P8tAa94SDeqtFvvvqzXa1DW8us4GRM3MS4QFnvcSHqD9DNPihuqnYJ9GbY7Qh",
      "token_account": "EdP6JNB26MrKzfsieCPz593VUgrDrpziQKstzCAFvNBP"
    }
  ],
  "ofac_info": null,
  "attribution": {
    "name": "",
    "category": "",
    "role": "",
    "entity": null,
    "tags": ["BLACKLISTED", "STABLECOIN-ISSUER", "COMPLIANCE"],
    "malicious": true
  }
}
```

### Previously Blacklisted (Now Unblacklisted)

An address that was blacklisted then unblacklisted. `is_token_blacklisted` is `false` but the full history is preserved.

```bash theme={null}
curl -G "https://api.range.org/v1/risk/sanctions/0x9faf5515f177f3a8a845d48c19032b33cc54c09c" \
  -H "Authorization: Bearer your_api_key_here"
```

```json theme={null}
{
  "address": "0x9faf5515f177f3a8a845d48c19032b33cc54c09c",
  "network": null,
  "is_token_blacklisted": false,
  "is_ofac_sanctioned": false,
  "checked_at": "2025-12-01T16:06:37.232941Z",
  "token_status_summary": [
    {
      "token": "USDT",
      "issuer": "Tether",
      "is_currently_blacklisted": false,
      "first_blacklisted_date": "2017-11-28",
      "last_event_date": "2017-11-28",
      "last_event_type": "unblacklist"
    }
  ],
  "blacklist_event_history": [
    {
      "event_type": "blacklist",
      "token": "USDT",
      "issuer": "Tether",
      "network": "ethereum",
      "date": "2017-11-28",
      "block_number": 4638805,
      "block_timestamp": "2017-11-28 17:39:10",
      "transaction_hash": "17ce88e3e2417f6c13db93f619423cc4c5f51e89660587631dc34c823fac54a8",
      "token_account": null
    },
    {
      "event_type": "unblacklist",
      "token": "USDT",
      "issuer": "Tether",
      "network": "ethereum",
      "date": "2017-11-28",
      "block_number": 4638882,
      "block_timestamp": "2017-11-28 17:59:39",
      "transaction_hash": "520a66112467b4b79016c2a62658b56e8f78049bae8bf6f4ce4bf39ec2d75ba8",
      "token_account": null
    }
  ],
  "ofac_info": null,
  "attribution": {
    "name": "USDT Unblacklisted Address (0x9fa)",
    "category": "USDT Blacklist",
    "role": "Unblacklisted Address",
    "entity": null,
    "tags": ["UNBLACKLISTED", "STABLECOIN-ISSUER", "COMPLIANCE"],
    "malicious": true
  }
}
```

### Clean Address

An address with no sanctions or blacklist history.

```bash theme={null}
curl -G "https://api.range.org/v1/risk/sanctions/0x1234567890abcdef1234567890abcdef12345678" \
  -H "Authorization: Bearer your_api_key_here"
```

```json theme={null}
{
  "address": "0x1234567890abcdef1234567890abcdef12345678",
  "network": null,
  "is_token_blacklisted": false,
  "is_ofac_sanctioned": false,
  "checked_at": "2025-12-01T16:07:06.387337Z",
  "token_status_summary": null,
  "blacklist_event_history": null,
  "ofac_info": null,
  "attribution": null
}
```

### Minimal Response

Use `include_details=false` for high-volume screening when you only need pass/fail results.

```bash theme={null}
curl -G "https://api.range.org/v1/risk/sanctions/0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a" \
  --data-urlencode "include_details=false" \
  -H "Authorization: Bearer your_api_key_here"
```

```json theme={null}
{
  "address": "0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a",
  "network": null,
  "is_token_blacklisted": true,
  "is_ofac_sanctioned": false,
  "checked_at": "2025-12-01T16:07:27.972840Z",
  "token_status_summary": null,
  "blacklist_event_history": null,
  "ofac_info": null,
  "attribution": null
}
```

***

## Errors

| HTTP Code | Cause                  | Recommended Action                                     |
| --------: | ---------------------- | ------------------------------------------------------ |
|   **400** | Invalid address format | Validate the address format before making the request  |
|   **429** | Rate limit exceeded    | Implement exponential backoff and retry                |
|   **5xx** | Internal server error  | Retry after a short delay; contact support if persists |

***

## Best Practices

* **Check both flags**: Always check both `is_token_blacklisted` and `is_ofac_sanctioned` for comprehensive compliance screening.
* **Real-time checks**: Blacklist status can change; avoid caching for high-risk use cases.
* **Use full details**: Keep `include_details=true` (default) when you need event history.
* **Addresses are case-insensitive**: Both `0x1DA5...` and `0x1da5...` return identical results.

***

## Use Cases

* **Pre-transaction screening**: Check counterparty addresses before processing payments or transfers.
* **Exchange compliance**: Screen addresses during deposit/withdrawal flows.
* **DeFi integration**: Add sanctions checks to smart contract interactions or front-ends.
* **Audit trails**: Generate compliance reports with full event history.


## OpenAPI

````yaml get /v1/risk/sanctions/{address}
openapi: 3.0.0
info:
  title: Range Risk API
  description: The Range Risk API for risk assessment of crypto addresses.
  version: 1.7.8
  contact: {}
servers:
  - url: https://api.range.org
    description: Range API Server
security:
  - Authorization: []
tags:
  - name: Risk
    description: Get risk information about a crypto address.
  - name: Risk v2
    description: >-
      Address risk assessment, workspace configuration, and signals catalogue
      (API v2).
  - name: Simulator
    description: Simulate a transaction on a network.
  - name: Alert Templates
    description: Browse alert rule templates available to the workspace.
  - name: Alert Rules
    description: Create and manage workspace alert rules.
  - name: Alert Events
    description: List and retrieve fired alert events.
  - name: Channels
    description: Configure alert delivery channels.
paths:
  /v1/risk/sanctions/{address}:
    get:
      tags:
        - Risk
      summary: Check Blacklist & OFAC Sanctions
      description: >-
        Check if an address is blacklisted by token issuers (Tether, Circle,
        Coinbase, Paxos) or OFAC sanctioned. Supports Ethereum, Tron, and Solana
        networks.
      operationId: getBlacklistCheck
      parameters:
        - name: address
          required: true
          in: path
          description: Blockchain address to check (EVM, Solana, or Tron format)
          schema:
            example: '0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a'
            type: string
        - name: network
          required: false
          in: query
          description: Filter by blockchain network. If omitted, checks all networks.
          schema:
            enum:
              - ethereum
              - tron
              - solana
            type: string
        - name: include_details
          required: false
          in: query
          description: 'Include detailed event history and attribution (default: true)'
          schema:
            default: true
            type: boolean
      responses:
        '200':
          description: Blacklist and sanctions check result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlacklistCheckResponse'
components:
  schemas:
    BlacklistCheckResponse:
      type: object
      properties:
        address:
          type: string
          description: The queried blockchain address
          example: '0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a'
        network:
          type: string
          nullable: true
          description: Network filter applied (null if all networks checked)
          example: ethereum
        is_token_blacklisted:
          type: boolean
          description: Whether address is currently blacklisted by any token issuer
          example: true
        is_ofac_sanctioned:
          type: boolean
          description: Whether address is on OFAC sanctions list
          example: false
        checked_at:
          type: string
          description: UTC timestamp when check was performed (ISO 8601)
          example: '2025-11-28T12:53:24Z'
        token_status_summary:
          nullable: true
          description: Current blacklist status per token (when include_details=true)
          type: array
          items:
            $ref: '#/components/schemas/TokenBlacklistStatus'
        blacklist_event_history:
          nullable: true
          description: >-
            Chronological list of blacklist/unblacklist events (when
            include_details=true)
          type: array
          items:
            $ref: '#/components/schemas/BlacklistEvent'
        ofac_info:
          nullable: true
          description: OFAC sanction details (when sanctioned)
          type: object
          allOf:
            - $ref: '#/components/schemas/OFACSanctionInfo'
        attribution:
          nullable: true
          description: Known attribution/label for the address
          type: object
          allOf:
            - $ref: '#/components/schemas/BlacklistAttribution'
      required:
        - address
        - network
        - is_token_blacklisted
        - is_ofac_sanctioned
        - checked_at
    TokenBlacklistStatus:
      type: object
      properties:
        token:
          type: string
          description: Token symbol (USDT, USDC, CBBTC, USDP)
          example: USDT
        issuer:
          type: string
          description: Token issuer (Tether, Circle, Coinbase, Paxos)
          example: Tether
        is_currently_blacklisted:
          type: boolean
          description: Whether address is currently blacklisted by this token
        first_blacklisted_date:
          type: string
          description: Date of first blacklist event (YYYY-MM-DD)
          example: '2023-12-09'
        last_event_date:
          type: string
          description: Date of most recent event
          example: '2023-12-09'
        last_event_type:
          type: string
          description: Type of most recent event
          enum:
            - blacklist
            - unblacklist
      required:
        - token
        - issuer
        - is_currently_blacklisted
    BlacklistEvent:
      type: object
      properties:
        event_type:
          type: string
          description: Event type
          enum:
            - blacklist
            - unblacklist
        token:
          type: string
          description: Token symbol
          example: USDC
        issuer:
          type: string
          description: Token issuer
          example: Circle
        network:
          type: string
          description: Blockchain network
          example: ethereum
        date:
          type: string
          description: Event date (YYYY-MM-DD)
          example: '2021-04-21'
        block_number:
          type: number
          description: Block number
          example: 12285873
        block_timestamp:
          type: string
          description: Block timestamp
          example: '2021-04-21 23:04:36'
        transaction_hash:
          type: string
          description: Transaction hash
        token_account:
          type: string
          description: Token account address (Solana only)
      required:
        - event_type
        - token
        - issuer
        - network
        - date
    OFACSanctionInfo:
      type: object
      properties:
        is_sanctioned:
          type: boolean
          description: Whether address is OFAC sanctioned
        name_tag:
          type: string
          description: Name of sanctioned entity/individual
          example: ANDREYEV, Anton Nikolaeyvich
        category:
          type: string
          description: Category
          example: OFAC Sanctioned
        entity:
          type: string
          description: Entity name
          example: OFAC
        address_role:
          type: string
          description: 'Role type: Individual or Entity'
          example: Individual
        first_sanctioned_date:
          type: string
          description: Date of sanction (YYYY-MM-DD)
          example: '2020-09-10'
        sanction_url:
          type: string
          description: URL to OFAC announcement
          example: https://ofac.treasury.gov/recent-actions/20200910
      required:
        - is_sanctioned
    BlacklistAttribution:
      type: object
      properties:
        name:
          type: string
          description: Name tag for the address
          example: cbBTC Blacklisted Address (9b5a)
        category:
          type: string
          description: Category
          example: cbBTC Blacklist
        role:
          type: string
          description: Address role
          example: Blacklisted Address
        entity:
          type: string
          description: Associated entity
        tags:
          description: Tags associated with the address
          example:
            - BLACKLISTED
            - STABLECOIN-ISSUER
            - COMPLIANCE
          type: array
          items:
            type: string
        malicious:
          type: boolean
          description: Whether marked as malicious
  securitySchemes:
    Authorization:
      scheme: bearer
      bearerFormat: API Key
      description: 'Use Authorization: Bearer <api-key>'
      type: http

````