Quant Agent Shop

Sanctions screen

Sanctions screening against the US Treasury OFAC SDN and Consolidated lists. Send a person, company or vessel name (fuzzy match on names and aliases, with scores) or a crypto wallet address (exact match against addresses OFAC lists). Returns match or no_match, entries with program, list and score, and provenance: each list file's URL, refresh time and SHA-256. Use before a payment or onboarding. A screening aid, not a compliance determination. Failed calls are not charged.

$0.0013per successful call
USDC on Basepaid over x402
Freewhen a call fails

Try one call free

5 free calls a day per address, no payment. Demo inputs travel in the web address, which logs can record, so use the paid route for anything private.

The result appears here.

Example

Request body for POST /v1/sanctions-screen:

{
  "name": "Banco Nacional de Cuba",
  "type": "entity"
}

Response:

{
  "query": "Banco Nacional de Cuba",
  "query_type": "name",
  "status": "match",
  "matches": [
    {
      "uid": "306",
      "name": "BANCO NACIONAL DE CUBA",
      "matched_name": "BANCO NACIONAL DE CUBA",
      "type": "entity",
      "programs": [
        "CUBA"
      ],
      "list": "OFAC SDN",
      "score": 1.0,
      "remarks": "a.k.a. 'BNC'."
    }
  ],
  "lists": [
    "OFAC SDN",
    "OFAC Consolidated (non-SDN)"
  ],
  "list_downloaded_at": "2026-10-22T03:15:04+00:00",
  "screened_at": "2026-10-22T09:00:00+00:00",
  "provenance": {
    "lists": [
      {
        "name": "OFAC SDN",
        "files": [
          "SDN.CSV",
          "ALT.CSV",
          "SDN.XML"
        ],
        "entries": 19471,
        "refreshed_at": "2026-10-22T03:15:04+00:00"
      },
      {
        "name": "OFAC Consolidated (non-SDN)",
        "files": [
          "CONS_PRIM.CSV",
          "CONS_ALT.CSV"
        ],
        "entries": 486,
        "refreshed_at": "2026-10-22T03:15:04+00:00"
      }
    ],
    "crypto_addresses": {
      "covered": true,
      "addresses": 1050,
      "match": "exact",
      "from": "Digital Currency Address ids in SDN.XML (OFAC SDN list)"
    },
    "sources": [
      {
        "file": "SDN.CSV",
        "url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.CSV",
        "retrieved_at": "2026-10-22T03:15:04+00:00",
        "sha256": "6167e477d8a33cc18eeec1149e65fd0ce7430722256e0feb0277173fefdb153a"
      },
      {
        "file": "ALT.CSV",
        "url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/ALT.CSV",
        "retrieved_at": "2026-10-22T03:15:04+00:00",
        "sha256": "4d48fba6cf5f7d6abfb35e695f453297870a7a56568ceae968f06d04701b0047"
      },
      {
        "file": "CONS_PRIM.CSV",
        "url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/CONS_PRIM.CSV",
        "retrieved_at": "2026-10-22T03:15:04+00:00",
        "sha256": "a6e9c460a6f6d9bda9b3b2e6d909437a32b7629dede0e897bc382a24d86b499e"
      },
      {
        "file": "CONS_ALT.CSV",
        "url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/CONS_ALT.CSV",
        "retrieved_at": "2026-10-22T03:15:04+00:00",
        "sha256": "90adf60559576e89ce40ca68fd4256632930887d9351139e29b7f1c36bc684fc"
      },
      {
        "file": "SDN.XML",
        "url": "https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.XML",
        "retrieved_at": "2026-10-22T03:15:04+00:00",
        "sha256": "bf92a04e60b4b2362d45490e5142e47b687c2ebb5898da6bc71b697602016e6e"
      }
    ],
    "freshness": "lists downloaded daily; screening is refused when any list is over 3 days old"
  },
  "notice": "Screening aid, not a compliance determination. No match does not clear a party. Source: US Treasury OFAC lists (US government work)."
}

Call it with x402

Any x402 client works: call, read the price in the 402, pay, call again. With curl you see the terms:

curl -i -X POST https://quantagentshop.com/v1/sanctions-screen \
  -H 'content-type: application/json' \
  -d '{"name": "Banco Nacional de Cuba", "type": "entity"}'

HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: (the terms below, base64)

{"x402Version": 2, "error": "payment_required", "accepts": [{"scheme": "exact", "network": "eip155:8453", "amount": "1300", "payTo": "0x4d8d8D4f04512029172e0176744Eec4AE5238309", ...}], ...}

# amount is in millionths of a USDC. Pay one of accepts, then send the same request again with the PAYMENT-SIGNATURE header.

In JavaScript, @x402/fetch pays and retries for you:

// npm install @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY); // a wallet holding a little USDC
const client = new x402Client().register("eip155:*", new ExactEvmScheme(signer));
const fetchWithPayment = wrapFetchWithPayment(fetch, client);

const res = await fetchWithPayment("https://quantagentshop.com/v1/sanctions-screen", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"name": "Banco Nacional de Cuba", "type": "entity"}),
});
console.log(await res.json());

Use it over MCP

Add the remote MCP server, then call quantagentshop_sanctions_screen. The free quantagentshop_quote tool gives the price and pay-to address and checks your arguments before you pay.

{
  "mcpServers": {
    "quantagentshop": {
      "url": "https://quantagentshop.com/mcp"
    }
  }
}

Terms, privacy and sources are on the policies page; live figures on the status page.