DE
Unternehmens- und Handelsidentifikatoren · x402

sanctions-check

Sanktionsprüfung eines Personen-, Unternehmens- oder Schiffsnamens gegen die US Consolidated Screening List (OFAC-SDN mit Aliassen sowie weitere Listen des Treasury, Commerce BIS und State), die konsolidierte EU-Finanzsanktionsliste (FSF), das französische nationale Vermögenssperrregister (DG Trésor) und die britische Sanktionsliste (FCDO). Unscharfes Jaro-Winkler-Token-Matching mit Score, Programmen, Geburtsdatum; Listen täglich aktualisiert.

0.005 USDC / Aufruf · {atomic} atomar · 5000 atomic

Endpunkt

GET|POST https://forge-tools.dentreprise.workers.dev/api/sanctions-check

Parameter

NamePflichtTypBeschreibung
namePflichtstringName to screen
typeOptionalstringperson, entity or vessel (optional)
listsOptionalstringofac,eu,fr,uk (default all)
thresholdOptionalstring0.7-1, default 0.88
maxOptionalstring1-50

Beispielanfrage (unbezahlt — 402 erwartet)

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

Beispiel einer 402-Challenge

Dasselbe Objekt wird auch als base64-Header PAYMENT-REQUIRED gesendet. Beträge sind atomare USDC-Einheiten (6 Dezimalstellen).

{
  "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"
      }
    }
  ]
}

Mit Zahlung wiederholen

curl -sS "https://forge-tools.dentreprise.workers.dev/api/sanctions-check?name=Bank+Rossiya&type=entity" \
  -H "PAYMENT-SIGNATURE: $PAYMENT"

Beispielantwort

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

Kostenlose Demo / Beispiel

Dieses Tool liegt auf dem Wave-1-Worker. ?demo=1 liefert ein gekennzeichnetes Beispiel oder einen Auszug mit HTTP 200 ohne Zahlung. Der Body sind keine Livedaten. Die ersten 3 erfolgreichen echten Aufrufe pro IP und UTC-Tag sind ebenfalls kostenlos.

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

Gekennzeichnete Demo-Antwort

{
  "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"
      }
    ]
  }
}

JavaScript — @x402/fetch

Offizieller x402-v2-Client. Installieren Sie @x402/fetch und @x402/evm. Der ältere Paketname x402-fetch ist die veraltete v1-Linie und sollte für diese Endpunkte nicht verwendet werden.

import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

// Official x402 v2 client. The older package name "x402-fetch" is the deprecated v1 line.
const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY);
const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],
});

const res = await fetchWithPayment(
  "https://forge-tools.dentreprise.workers.dev/api/sanctions-check?name=Bank+Rossiya&type=entity"
);
console.log(await res.json());

Python — x402

Offizielles PyPI-Paket x402. Nutzen Sie x402HttpxClient (async) oder x402_requests (sync) nach register_exact_evm_client mit EthAccountSigner.

import asyncio
import os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# Official PyPI package: x402
account = Account.from_key(os.environ["EVM_PRIVATE_KEY"])
client = x402Client()
register_exact_evm_client(client, EthAccountSigner(account))

async def main():
    async with x402HttpxClient(client) as http:
        res = await http.get("https://forge-tools.dentreprise.workers.dev/api/sanctions-check?name=Bank+Rossiya&type=entity")
        print(res.json())

asyncio.run(main())

# Sync alternative:
# from x402 import x402ClientSync
# from x402.http.clients import x402_requests
# client = x402ClientSync()
# register_exact_evm_client(client, EthAccountSigner(account))
# with x402_requests(client) as session:
#     print(session.get("https://forge-tools.dentreprise.workers.dev/api/sanctions-check?name=Bank+Rossiya&type=entity").json())

MCP-Server — forge-agent-mcp

stdio deckt den gesamten Katalog (beide API-Hosts) ab. Klonen Sie forge-agent-mcp und zeigen Sie mit Ihrem MCP-Client auf src/server.mjs. Die gehostete Streamable-HTTP-Remote am ursprünglichen Gateway stellt weiterhin nur die ursprünglichen Gateway-Tools bereit.

{
  "mcpServers": {
    "forge-agent-hub": {
      "command": "node",
      "args": ["/path/to/forge-agent-mcp/src/server.mjs"]
    },
    "forge-agent-api": {
      "url": "https://x402-gateway.forge-x402.workers.dev/mcp",
      "transport": "streamable-http"
    }
  }
}

LangChain-Tool-Wrapper

Kapseln Sie dieselben x402-Clients als LangChain-Tool mit DynamicStructuredTool (@langchain/core) oder @tool (langchain_core).

import { DynamicStructuredTool } from "@langchain/core/tools";
import { z } from "zod";
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY);
const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],
});

export const sanctions_check = new DynamicStructuredTool({
  name: "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).",
  schema: z.object({}),
  func: async (input) => {
    const res = await fetchWithPayment("https://forge-tools.dentreprise.workers.dev/api/sanctions-check" + "?" + new URLSearchParams(input));
    return JSON.stringify(await res.json());
  },
});
import os
from langchain_core.tools import tool
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

account = Account.from_key(os.environ["EVM_PRIVATE_KEY"])
client = x402ClientSync()
register_exact_evm_client(client, EthAccountSigner(account))

@tool
def sanctions_check() -> str:
    """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)."""
    with x402_requests(client) as session:
        return session.get("https://forge-tools.dentreprise.workers.dev/api/sanctions-check").text

Verwandte Endpunkte