sanctions-check
Sanctiescreening van een personen-, bedrijfs- of scheepsnaam tegen de Amerikaanse Consolidated Screening List (OFAC-SDN met aliassen plus andere Treasury-, Commerce-BIS- en State-lijsten), de geconsolideerde EU-financiële sanctielijst (FSF), het Franse nationale register voor bevriezing van tegoeden (DG Trésor) en de Britse sanctielijst (FCDO). Fuzzy Jaro-Winkler-tokenmatching met score, programma’s en geboortedatum; lijsten dagelijks vernieuwd.
Eindpunt
GET|POST https://forge-tools.dentreprise.workers.dev/api/sanctions-check
Parameters
| Naam | Verplicht | Type | Beschrijving |
|---|---|---|---|
name | Verplicht | string | Name to screen |
type | Optioneel | string | person, entity or vessel (optional) |
lists | Optioneel | string | ofac,eu,fr,uk (default all) |
threshold | Optioneel | string | 0.7-1, default 0.88 |
max | Optioneel | string | 1-50 |
Voorbeeldverzoek (onbetaald — verwacht 402)
curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/sanctions-check?name=Bank+Rossiya&type=entity"
Voorbeeld van een 402-challenge
Hetzelfde object wordt ook als base64-header PAYMENT-REQUIRED verstuurd. Bedragen zijn atomaire USDC-eenheden (6 decimalen).
{
"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"
}
}
]
}Opnieuw proberen met betaling
curl -sS "https://forge-tools.dentreprise.workers.dev/api/sanctions-check?name=Bank+Rossiya&type=entity" \ -H "PAYMENT-SIGNATURE: $PAYMENT"
Voorbeeldantwoord
{
"query": "Bank Rossiya",
"match": true,
"highest_score": 1,
"hits": [
{
"list": "eu",
"name": "Bank Rossiya",
"score": 1,
"programmes": "UKR"
}
]
}Gratis demo / voorbeeld
Deze tool staat op de wave-1-worker. ?demo=1 geeft een gelabeld voorbeeld of fragment terug met HTTP 200 en zonder betaling. De body is geen livedata. De eerste 3 geslaagde echte aanroepen per IP per UTC-dag zijn ook gratis.
curl -sS "https://forge-tools.dentreprise.workers.dev/api/sanctions-check?name=Bank+Rossiya&type=entity&demo=1"
Gelabeld demo-antwoord
{
"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
Officiële x402-v2-client. Installeer @x402/fetch en @x402/evm. De oudere pakketnaam x402-fetch is de verouderde v1-lijn en moet niet voor deze endpoints worden gebruikt.
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
Officieel PyPI-pakket x402. Gebruik x402HttpxClient (async) of x402_requests (sync) na register_exact_evm_client met 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 dekt de volledige catalogus (beide API-hosts). Clone forge-agent-mcp en wijs je MCP-client naar src/server.mjs. De gehoste Streamable-HTTP-remote op de oorspronkelijke gateway biedt nog steeds alleen de oorspronkelijke gateway-tools.
{
"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-toolwrapper
Pak dezelfde x402-clients in als LangChain-tool met DynamicStructuredTool (@langchain/core) of @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").textGerelateerde eindpunten
lei-lookup
Legal Entity Identifier-opzoeking in het officiële GLEIF-register: via LEI (met ISO-17442-controlesom) of via naamzoekopdracht met optioneel land.
eori-validate
EORI-nummervalidatie (douanehandelaar-ID) tegen het officiële EOS-register van de Europese Commissie, en Britse GB-nummers tegen HMRC.
siren-check
Franse SIREN-(9)/SIRET-(14)-controlesomvalidatie (Luhn, uitzondering La Poste), opmaak, NIC en het afgeleide intra-EU-btw-nummer.
fr-legal-status
Juridische status van een Frans bedrijf op SIREN/SIRET: administratieve Sirene-status (actief/beëindigd, sluitingsdatum, rechtsvorm, NAF, hoofdkantoor) plus BODACC-collectieve procedures (sauvegarde, redressement, liquidation judiciaire, clôture) met laatste stadium, lopende vlag en risiconiveau.