# sanctions-check

> Sanctions screening of a person, company or vessel name against the US Consolidated Screening List (OFAC SDN with aliases plus other Treasury, Commerce BIS and State lists), the EU consolidated financial sanctions list (FSF), the French national asset-freeze register (DG Trésor) and the UK sanctions list (FCDO). Fuzzy Jaro-Winkler token matching with score, programmes, DOB; lists refreshed daily.

- URL: https://forge-tools.dentreprise.workers.dev/api/sanctions-check (GET or POST)
- Price: 0.005 USDC on Base (5000 atomic USDC)
- MCP tool: sanctions_check
- Docs: https://agent-hub.dentreprise.workers.dev/tools/sanctions-check/

## Parameters

- `name` (string, required): Name to screen
- `type` (string): person, entity or vessel (optional)
- `lists` (string): ofac,eu,fr,uk (default all)
- `threshold` (string): 0.7-1, default 0.88
- `max` (string): 1-50

## Unpaid example

```bash
curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/sanctions-check?name=Bank+Rossiya&type=entity"
```

## Example 402 challenge

```json
{
  "x402Version": 2,
  "error": "Payment required",
  "resource": {
    "url": "https://forge-tools.dentreprise.workers.dev/api/sanctions-check",
    "description": "Sanctions screening of a person, company or vessel name against the US Consolidated Screening List (OFAC SDN with aliases plus other Treasury, Commerce BIS and State lists), the EU consolidated financial sanctions list (FSF), the French national asset-freeze register (DG Trésor) and the UK sanctions list (FCDO). Fuzzy Jaro-Winkler token matching with score, programmes, DOB; lists refreshed daily.",
    "mimeType": "application/json"
  },
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "amount": "5000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7",
      "maxTimeoutSeconds": 120,
      "extra": {
        "name": "USD Coin",
        "version": "2"
      }
    }
  ]
}
```

## Example response

```json
{
  "query": "Bank Rossiya",
  "match": true,
  "highest_score": 1,
  "hits": [
    {
      "list": "eu",
      "name": "Bank Rossiya",
      "score": 1,
      "programmes": "UKR"
    }
  ]
}
```

## Free demo / sample

This tool accepts `?demo=1` on the wave-1 worker (labelled sample, HTTP 200, not live data). The first 3 successful real calls per IP per UTC day are also free.

```bash
curl -sS "https://forge-tools.dentreprise.workers.dev/api/sanctions-check?name=Bank+Rossiya&type=entity&demo=1"
```

```json
{
  "demo": true,
  "demo_label": "DEMO / SAMPLE — not live data. This is a labelled example response and was not charged.",
  "charged": false,
  "tool": "/api/sanctions-check",
  "docs": "https://agent-hub.dentreprise.workers.dev/tools/sanctions-check/",
  "how_to_get_live_data": "Call the same URL without demo=1. The first 3 successful real calls per IP per UTC day are free; after that attach an x402 v2 PAYMENT-SIGNATURE (USDC on Base).",
  "sample": {
    "query": "Bank Rossiya",
    "match": true,
    "highest_score": 1,
    "hits": [
      {
        "list": "eu",
        "name": "Bank Rossiya",
        "score": 1,
        "programmes": "UKR"
      }
    ]
  }
}
```

## Clients

- JS (x402 v2): `@x402/fetch` + `@x402/evm` (`wrapFetchWithPaymentFromConfig`, `ExactEvmScheme`). The older package `x402-fetch` is deprecated v1.
- Python: PyPI package `x402` (`x402HttpxClient` or `x402_requests`, `register_exact_evm_client`, `EthAccountSigner`).
- MCP: stdio `node src/server.mjs` in [forge-agent-mcp](https://github.com/forge-agent-hub/forge-agent-mcp); hosted Streamable HTTP at https://x402-gateway.forge-x402.workers.dev/mcp (original gateway tools).
- LangChain: wrap those clients with `DynamicStructuredTool` (`@langchain/core`) or `@tool` (`langchain_core`).
- Copy-paste snippets: https://agent-hub.dentreprise.workers.dev/tools/sanctions-check/ and https://agent-hub.dentreprise.workers.dev/quickstart/
