FR
Identifiants d’entreprises et de commerce · x402

siren-check

Validation des sommes de contrôle SIREN (9) / SIRET (14) françaises (Luhn, exception La Poste), formatage, NIC, et numéro de TVA intra-européen dérivé. Jusqu’à 100 numéros. Hors ligne : pas d’appel au registre.

0.001 USDC / appel · {atomic} atomique · 1000 atomic

Point de terminaison

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

Paramètres

NomObligatoireTypeDescription
sirenObligatoirestringSIREN/SIRET number(s), comma-separated

Exemple de requête (non payée — attendre un 402)

curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/siren-check?siren=552032534"

Exemple de défi 402

Le même objet est aussi envoyé en en-tête PAYMENT-REQUIRED en base64. Les montants sont des unités USDC atomiques (6 décimales).

{
  "x402Version": 2,
  "error": "Payment required",
  "resource": {
    "url": "https://forge-tools.dentreprise.workers.dev/api/siren-check",
    "description": "French SIREN (9) / SIRET (14) checksum validation (Luhn, La Poste exception), formatting, NIC, and the derived intra-EU VAT number. Up to 100 numbers. Offline: no register call.",
    "mimeType": "application/json"
  },
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "amount": "1000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7",
      "maxTimeoutSeconds": 120,
      "extra": {
        "name": "USD Coin",
        "version": "2"
      }
    }
  ]
}

Réessayer avec paiement

curl -sS "https://forge-tools.dentreprise.workers.dev/api/siren-check?siren=552032534" \
  -H "PAYMENT-SIGNATURE: $PAYMENT"

Exemple de réponse

{
  "type": "SIREN",
  "valid": true,
  "vat_number_fr": "FR27552032534"
}

Démo / échantillon gratuit

Cet outil est sur le worker de la vague 1. ?demo=1 renvoie un échantillon ou un extrait étiqueté en HTTP 200, sans paiement. Le corps n’est pas une donnée réelle. Les 3 premiers appels réels réussis par IP et par jour UTC sont aussi gratuits.

curl -sS "https://forge-tools.dentreprise.workers.dev/api/siren-check?siren=552032534&demo=1"

Réponse de démo étiquetée

{
  "demo": true,
  "demo_label": "DEMO / SAMPLE — not live data. This is a labelled example response and was not charged.",
  "charged": false,
  "tool": "/api/siren-check",
  "docs": "https://agent-hub.dentreprise.workers.dev/tools/siren-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": {
    "type": "SIREN",
    "valid": true,
    "vat_number_fr": "FR27552032534"
  }
}

JavaScript — @x402/fetch

Client officiel x402 v2. Installez @x402/fetch et @x402/evm. L’ancien nom de paquet x402-fetch est la lignée v1 obsolète et ne doit pas servir pour ces points d’accès.

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/siren-check?siren=552032534"
);
console.log(await res.json());

Python — x402

Paquet officiel PyPI x402. Utilisez x402HttpxClient (async) ou x402_requests (sync) après register_exact_evm_client avec 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/siren-check?siren=552032534")
        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/siren-check?siren=552032534").json())

Serveur MCP — forge-agent-mcp

Le mode stdio couvre tout le catalogue (les deux hôtes d’API). Clonez forge-agent-mcp et pointez votre client MCP vers src/server.mjs. Le remote Streamable HTTP hébergé sur la passerelle d’origine n’expose toujours que les outils de cette passerelle.

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

Wrapper d’outil LangChain

Enveloppez les mêmes clients x402 en outil LangChain avec DynamicStructuredTool (@langchain/core) ou @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 siren_check = new DynamicStructuredTool({
  name: "siren_check",
  description: "French SIREN (9) / SIRET (14) checksum validation (Luhn, La Poste exception), formatting, NIC, and the derived intra-EU VAT number.",
  schema: z.object({}),
  func: async (input) => {
    const res = await fetchWithPayment("https://forge-tools.dentreprise.workers.dev/api/siren-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 siren_check() -> str:
    """French SIREN (9) / SIRET (14) checksum validation (Luhn, La Poste exception), formatting, NIC, and the derived intra-EU VAT number."""
    with x402_requests(client) as session:
        return session.get("https://forge-tools.dentreprise.workers.dev/api/siren-check").text

Points de terminaison liés

Identifiants d’entreprises et de commerce · x402

lei-lookup

Recherche d’identifiant d’entité juridique (LEI) dans le registre officiel GLEIF : par LEI (avec contrôle de somme ISO 17442) ou par recherche de dénomination, avec pays facultatif.

0.003 USDC/ appel
Documentation →
Identifiants d’entreprises et de commerce · x402

eori-validate

Validation de numéros EORI (identifiant douanier) auprès du registre officiel EOS de la Commission européenne, et des numéros GB du Royaume-Uni auprès de HMRC.

0.003 USDC/ appel
Documentation →
Identifiants d’entreprises et de commerce · x402

sanctions-check

Filtrage des sanctions d’un nom de personne, d’entreprise ou de navire par rapport à la liste de filtrage consolidée des États-Unis (SDN de l’OFAC avec alias, plus d’autres listes du Trésor, du Commerce BIS et du Département d’État), à la liste consolidée des sanctions financières de l’UE (FSF), au registre national français de gel des avoirs (DG Trésor) et à la liste britannique des sanctions (FCDO).

0.005 USDC/ appel
Documentation →
Identifiants d’entreprises et de commerce · x402

fr-legal-status

Statut juridique d’une entreprise française par SIREN/SIRET : état administratif Sirene (actif/cessé, date de fermeture, forme juridique, NAF, siège) et procédures collectives BODACC (sauvegarde, redressement, liquidation judiciaire, clôture) avec le dernier stade, un indicateur en cours et un niveau de risque.

0.003 USDC/ appel
Documentation →