# Forge Agent Hub > Pay-per-call utility APIs (x402, USDC on Base) and public Apify Actors for agents and developers. Published by Forge Agent Hub. No account, no API key. Call an endpoint unpaid to receive a 402 challenge, then retry with PAYMENT-SIGNATURE or X-PAYMENT. API base (original 14 tools): https://x402-gateway.forge-x402.workers.dev API base (wave-1 tools): https://forge-tools.dentreprise.workers.dev payTo: 0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7 Network: eip155:8453 (Base) Asset: USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 MCP (Streamable HTTP): https://x402-gateway.forge-x402.workers.dev/mcp Contact: jqfpxwv7@mail.grokbot.com The tool-request form is live (SHA-256 proof of work). Loyalty credits are planned only: GET /loyalty/{address} exists but the ledger is not fed from the payment gateway. ## x402 endpoints - [fr-company](https://agent-hub.dentreprise.workers.dev/tools/fr-company/index.md): 0.005 USDC — French company lookup (SIREN/SIRET/name) from the official open-data Sirene base (recherche-entreprises. - [eu-vat](https://agent-hub.dentreprise.workers.dev/tools/eu-vat/index.md): 0.003 USDC — EU VAT number validation against the European Commission VIES service, with normalised output (valid, name, address). - [iban](https://agent-hub.dentreprise.workers.dev/tools/iban/index.md): 0.001 USDC — IBAN validation (ISO 13616 mod-97 checksum + per-country length), returns normalised IBAN, country and BBAN. - [markdown](https://agent-hub.dentreprise.workers.dev/tools/markdown/index.md): 0.002 USDC — Fetch a public web page and return clean Markdown (scripts/styles/nav stripped) plus title. - [fr-address](https://agent-hub.dentreprise.workers.dev/tools/fr-address/index.md): 0.002 USDC — French address geocoding and normalisation via the official Base Adresse Nationale (api-adresse. - [holidays](https://agent-hub.dentreprise.workers.dev/tools/holidays/index.md): 0.001 USDC — Official public holidays for a country and year (100+ countries, Nager. - [fx](https://agent-hub.dentreprise.workers.dev/tools/fx/index.md): 0.001 USDC — Currency conversion at the official European Central Bank reference rate (via Frankfurter), with rate date. - [web-meta](https://agent-hub.dentreprise.workers.dev/tools/web-meta/index.md): 0.002 USDC — Fetch a public URL and return its metadata: title, meta description, canonical, language, OpenGraph and Twitter card tags, favicon, RSS feeds, h1s. - [email-check](https://agent-hub.dentreprise.workers.dev/tools/email-check/index.md): 0.001 USDC — Email address check: RFC syntax, domain MX/A records (deliverability signal, no SMTP probe), disposable-domain and role-account flags. - [rdap](https://agent-hub.dentreprise.workers.dev/tools/rdap/index.md): 0.002 USDC — Domain registration data via RDAP (the official WHOIS successor): registrar, creation/expiry/update dates, status, nameservers, DNSSEC, age in days. - [ch-uid](https://agent-hub.dentreprise.workers.dev/tools/ch-uid/index.md): 0.003 USDC — Swiss UID / VAT (MWST/TVA/IVA) number validation against the official Swiss Federal Statistical Office UID register (UID-Register, uid-wse). - [ch-uid-batch](https://agent-hub.dentreprise.workers.dev/tools/ch-uid-batch/index.md): 0.05 USDC — Batch Swiss UID / VAT number validation (up to 25 numbers per call) against the official Swiss UID register. - [dvf-price-m2](https://agent-hub.dentreprise.workers.dev/tools/dvf-price-m2/index.md): 0.01 USDC — French property price per m2 around an address from official DVF sales records (DGFiP / Etalab, last 3 years): median, p25/p75, count for apartments and houses within an auto-expanding radius, geocoded via Base Adresse Nationale. - [bodacc-health](https://agent-hub.dentreprise.workers.dev/tools/bodacc-health/index.md): 0.003 USDC — French company legal-health check from the official BODACC notices (DILA open data) for a SIREN/SIRET: insolvency proceedings (sauvegarde, redressement, liquidation), deregistration, sales, accounts filings, last notice dates and a risk summary. - [x402-compliance](https://agent-hub.dentreprise.workers.dev/tools/x402-compliance/index.md): 0.002 USDC — x402 V2 compliance tester: probes any paid endpoint without paying and checks the 402 challenge (PAYMENT-REQUIRED header, x402Version 2, accepts[] schema, CAIP-2 network, atomic amount, canonical USDC asset, payTo, maxTimeoutSeconds, EIP-712 extra, resource, Bazaar extension, CORS) and that free 200s or forged payment headers never unlock the resource. - [a2a-agent-card](https://agent-hub.dentreprise.workers.dev/tools/a2a-agent-card/index.md): 0.002 USDC — A2A Agent Card validator and generator (A2A 1. - [mcp-manifest-lint](https://agent-hub.dentreprise.workers.dev/tools/mcp-manifest-lint/index.md): 0.002 USDC — MCP manifest linter: validates an MCP registry server. - [x402-manifest-from-openapi](https://agent-hub.dentreprise.workers.dev/tools/x402-manifest-from-openapi/index.md): 0.003 USDC — Turn an OpenAPI 3. - [pubmed-search](https://agent-hub.dentreprise.workers.dev/tools/pubmed-search/index.md): 0.003 USDC — PubMed / MEDLINE search with full records: PMID, title, authors, journal, year, volume/pages, DOI, PMCID, publication types, MeSH terms and abstract. - [x402-listing-check](https://agent-hub.dentreprise.workers.dev/tools/x402-listing-check/index.md): 0.001 USDC — Checks that a host exposes a valid x402 discovery listing (/. - [lei-lookup](https://agent-hub.dentreprise.workers.dev/tools/lei-lookup/index.md): 0.003 USDC — Legal Entity Identifier lookup from the official GLEIF register: by LEI (with ISO 17442 checksum check) or by legal-name search with optional country. - [rss-to-json](https://agent-hub.dentreprise.workers.dev/tools/rss-to-json/index.md): 0.002 USDC — RSS 2. - [eori-validate](https://agent-hub.dentreprise.workers.dev/tools/eori-validate/index.md): 0.003 USDC — EORI number validation (customs trader ID) against the official European Commission EOS register, and UK GB numbers against HMRC. - [sec-financials](https://agent-hub.dentreprise.workers.dev/tools/sec-financials/index.md): 0.005 USDC — US public company financial facts from SEC EDGAR XBRL (by ticker or CIK): revenue, net income, operating income, gross profit, diluted EPS, assets, liabilities, equity, cash, operating cash flow, long-term debt, shares outstanding — last 1-5 fiscal years plus latest quarter, with form, filing date and accession; plus recent 10-K/10-Q/8-K filings. - [openfoodfacts-product](https://agent-hub.dentreprise.workers.dev/tools/openfoodfacts-product/index.md): 0.002 USDC — Food product sheet from a barcode (EAN/UPC/GTIN) via Open Food Facts: name, brand, quantity, Nutri-Score, NOVA, Eco-Score, nutriments per 100 g, ingredients, allergens, traces, labels, categories, countries, packaging, image. - [arxiv-search](https://agent-hub.dentreprise.workers.dev/tools/arxiv-search/index.md): 0.002 USDC — arXiv preprint search (plain words or arXiv field syntax ti:, au:, abs:, cat:) or id lookup: title, authors, dates, categories, abstract, DOI, journal ref, abs and PDF links. - [crossref-doi](https://agent-hub.dentreprise.workers.dev/tools/crossref-doi/index.md): 0.002 USDC — DOI metadata from Crossref: type, title, container (journal/book), publisher, authors with ORCID and affiliations, dates, volume/issue/pages, ISSN/ISBN, licenses, abstract, subjects, citation counts, funders, and optionally the reference list. - [gtin-validate](https://agent-hub.dentreprise.workers.dev/tools/gtin-validate/index.md): 0.001 USDC — GTIN / EAN-8 / EAN-13 / UPC-A / UPC-E / GTIN-14 validation and normalisation (GS1 check digit): type, expected check digit, corrected code, GTIN-14 and EAN-13 forms, GS1 prefix region, book/coupon flags. - [isbn-validate](https://agent-hub.dentreprise.workers.dev/tools/isbn-validate/index.md): 0.001 USDC — ISBN-10 / ISBN-13 validation and conversion (ISO 2108 check digits): valid flag, expected check digit, corrected value, both forms, GTIN-14, registration group hint. - [mcp-inspect](https://agent-hub.dentreprise.workers.dev/tools/mcp-inspect/index.md): 0.002 USDC — Remote MCP server inspector (Streamable HTTP): initialize handshake, protocol version, serverInfo, capabilities, session, latency, tools/list with per-tool checks (name pattern, description, inputSchema object, undocumented or missing required params), resources/prompts counts. - [openapi-lint](https://agent-hub.dentreprise.workers.dev/tools/openapi-lint/index.md): 0.002 USDC — OpenAPI linter for agent readiness: version, info, servers, operationId presence/uniqueness/LLM-safe names, summaries, parameter schemas and descriptions, path placeholders, success and error responses, JSON examples. - [sitemap-urls](https://agent-hub.dentreprise.workers.dev/tools/sitemap-urls/index.md): 0.002 USDC — sitemap. - [tz-convert](https://agent-hub.dentreprise.workers.dev/tools/tz-convert/index.md): 0.001 USDC — IANA time zone conversion: an instant (ISO with offset, Z, or Unix) or a local wall time in a source zone converted to up to 20 zones, with UTC offset, abbreviation and DST gap/overlap handling (ambiguous times return both instants). - [uuid-v7](https://agent-hub.dentreprise.workers.dev/tools/uuid-v7/index.md): 0.001 USDC — RFC 9562 UUIDv7 generator (time-sortable, 1-100 per call, optional timestamp) and UUID validator/decoder (version, variant, embedded timestamp for v1/v7). - [siren-check](https://agent-hub.dentreprise.workers.dev/tools/siren-check/index.md): 0.001 USDC — French SIREN (9) / SIRET (14) checksum validation (Luhn, La Poste exception), formatting, NIC, and the derived intra-EU VAT number. - [phone-parse](https://agent-hub.dentreprise.workers.dev/tools/phone-parse/index.md): 0.001 USDC — Phone number parsing and validation to E. - [x402-facilitator-health](https://agent-hub.dentreprise.workers.dev/tools/x402-facilitator-health/index.md): 0.001 USDC — x402 facilitator health check: calls GET /supported on a facilitator (or on a default list incl. - [json-schema-validate](https://agent-hub.dentreprise.workers.dev/tools/json-schema-validate/index.md): 0.001 USDC — Validate LLM/agent JSON output against a JSON Schema (2020-12 subset) and auto-repair typical errors: code fences, trailing commas, numbers/booleans as strings, wrong enum case, single value instead of array, null optionals, extra or mis-cased keys, missing defaults. - [wikidata-entity](https://agent-hub.dentreprise.workers.dev/tools/wikidata-entity/index.md): 0.002 USDC — Wikidata entity lookup by Q-id or search text: label, description, aliases in a chosen language, key claims (instance of, country, coordinates, inception, website, population, HQ, founders, industry, identifiers such as LEI/ticker/ISNI…) with resolved labels, Wikipedia link. - [fr-communes](https://agent-hub.dentreprise.workers.dev/tools/fr-communes/index.md): 0.001 USDC — French municipalities (INSEE COG) by name, postcode or INSEE code: official name, INSEE code, postcodes, population, area, department, region, EPCI, SIREN, centre coordinates. - [fx-history](https://agent-hub.dentreprise.workers.dev/tools/fx-history/index.md): 0.002 USDC — Official ECB reference-rate time series for a currency pair (or up to 10 targets) over a date range up to 2 years: daily points plus first/last/min/max/mean/% change. - [fr-school-calendar](https://agent-hub.dentreprise.workers.dev/tools/fr-school-calendar/index.md): 0.001 USDC — French school holidays (calendrier scolaire, Éducation nationale) by school year and zone A/B/C (or overseas/Corsica), with académies, start/end dates, and an optional date test (is this date a school holiday, and where). - [openapi-to-mcp](https://agent-hub.dentreprise.workers.dev/tools/openapi-to-mcp/index.md): 0.003 USDC — Convert an OpenAPI spec (JSON/YAML, URL or inline) into MCP tool definitions: LLM-safe unique names, descriptions, JSON Schema inputSchema (query/path/header params + JSON body), MCP annotations (readOnly/destructive/idempotent), plus HTTP forwarding hints and a ready tools/list response. - [sanctions-check](https://agent-hub.dentreprise.workers.dev/tools/sanctions-check/index.md): 0.005 USDC — 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). - [fr-legal-status](https://agent-hub.dentreprise.workers.dev/tools/fr-legal-status/index.md): 0.003 USDC — French company legal status by SIREN/SIRET: Sirene administrative status (active/ceased, closure date, legal form, NAF, head office) plus BODACC collective proceedings (sauvegarde, redressement, liquidation judiciaire, clôture) with latest stage, ongoing flag and risk level. - [eu-tenders](https://agent-hub.dentreprise.workers.dev/tools/eu-tenders/index.md): 0.003 USDC — Public tender scanner: keyword search across BOAMP (France) and TED (EU Official Journal, all member states) since a date, merged and sorted: title, buyer, publication date, deadline, notice type, country, CPV codes and link. - [uk-postcode](https://agent-hub.dentreprise.workers.dev/tools/uk-postcode/index.md): 0.001 USDC — UK postcode lookup and validation (postcodes. - [eu-address](https://agent-hub.dentreprise.workers.dev/tools/eu-address/index.md): 0.002 USDC — Address geocoding and normalisation through official national open services: France (Base Adresse Nationale), Netherlands (PDOK/BAG), Spain (CartoCiudad/IGN), Switzerland (swisstopo). - [no-company](https://agent-hub.dentreprise.workers.dev/tools/no-company/index.md): 0.002 USDC — Norwegian company register (Brønnøysundregistrene) by org number or name: legal form, registration and founding dates, VAT registration and VAT number, bankruptcy, liquidation and forced-dissolution flags, employees, industry, address, website. - [fi-company](https://agent-hub.dentreprise.workers.dev/tools/fi-company/index.md): 0.002 USDC — Finnish company register (PRH / YTJ open data) by Business ID (Y-tunnus) or name: current name, registration date, legal form, status, trade-register status, main business line, address, website, EUID and derived VAT number. - [uk-company](https://agent-hub.dentreprise.workers.dev/tools/uk-company/index.md): 0.002 USDC — UK company register (official Companies House API): search by name, or lookup by company number with profile (status, type, incorporation/dissolution, SIC codes, registered office, previous names), officer counts (active/resigned) and filing status (accounts and confirmation statement due/overdue), insolvency, liquidation and charges flags. - [kyb-check-uk](https://agent-hub.dentreprise.workers.dev/tools/kyb-check-uk/index.md): 0.01 USDC — One-call KYB for a UK company (company number or name): Companies House profile, officers and filing status, insolvency/liquidation flags, plus sanctions screening (US CSL/OFAC, EU, FR, UK) of the registered name, with a pass/review/fail verdict and flags. - [eu-carbon-customs](https://agent-hub.dentreprise.workers.dev/tools/eu-carbon-customs/index.md): 0.003 USDC — EU CBAM (carbon border adjustment) default embedded emissions for a CN/TARIC code and country of origin, from the official Commission default-values file: direct, indirect and total tCO2e per tonne, production route, year mark-up, and optional embedded emissions and certificate cost for a shipment (tonnes, EUR price). - [kyb-check-eu](https://agent-hub.dentreprise.workers.dev/tools/kyb-check-eu/index.md): 0.01 USDC — One-call KYB for any EU company by VAT number: VIES validity with registered name/address, sanctions screening (US CSL/OFAC, EU, FR, UK) of the name, GLEIF LEI candidates, plus national register data for France (Sirene + BODACC proceedings) and Finland (PRH), with a pass/review/fail verdict. - [kyb-check-fr](https://agent-hub.dentreprise.workers.dev/tools/kyb-check-fr/index.md): 0.01 USDC — One-call KYB for a French company (SIREN/SIRET): Sirene identity and status, BODACC collective proceedings, VIES intra-EU VAT validity (derived FR number) and sanctions screening (OFAC, EU, FR, UK) of the legal name, with a pass/review/fail verdict and flags. - [supplier-due-diligence](https://agent-hub.dentreprise.workers.dev/tools/supplier-due-diligence/index.md): 0.01 USDC — Supplier due diligence for any company name (optionally VAT number and country): VIES VAT check, UK Companies House profile when country=GB, GLEIF LEI candidates with entity and registration status, and sanctions screening (OFAC, EU, FR, UK), with a pass/review/fail verdict and flags. ## Apify Actors - [Swiss UID / VAT validator](https://agent-hub.dentreprise.workers.dev/actors/swiss-uid-vat-validator/index.md): Apify Actor, https://apify.com/characteristic_division/swiss-uid-vat-validator - [DVF price per m² (batch)](https://agent-hub.dentreprise.workers.dev/actors/dvf-price-per-m2-batch/index.md): Apify Actor, https://apify.com/characteristic_division/dvf-price-per-m2-batch - [BODACC SIREN health check](https://agent-hub.dentreprise.workers.dev/actors/bodacc-siren-health-check/index.md): Apify Actor, https://apify.com/characteristic_division/bodacc-siren-health-check - [Google Sheets sync (service account)](https://agent-hub.dentreprise.workers.dev/actors/sheets-sync-service-account/index.md): Apify Actor, https://apify.com/characteristic_division/sheets-sync-service-account ## Machine-readable - [OpenAPI 3.1](https://agent-hub.dentreprise.workers.dev/openapi.json): all 56 paid paths, 402 challenge schema, x-payment extension. - [catalog.json](https://agent-hub.dentreprise.workers.dev/catalog.json): tools, prices, endpoints, Apify links, planned loyalty. - [x402 manifest](https://agent-hub.dentreprise.workers.dev/.well-known/x402): resources and atomic prices. - [mcp.json](https://agent-hub.dentreprise.workers.dev/.well-known/mcp.json): existing MCP server description. - [llms-full.txt](https://agent-hub.dentreprise.workers.dev/llms-full.txt): full documentation in one file. - [Payment notes](https://agent-hub.dentreprise.workers.dev/docs/payment/index.md) - [MCP notes](https://agent-hub.dentreprise.workers.dev/docs/mcp/index.md) ## Optional - [Loyalty (planned, ledger not fed)](https://agent-hub.dentreprise.workers.dev/docs/loyalty/index.md) - [Request a tool](https://agent-hub.dentreprise.workers.dev/request/index.md) --- # Full documentation # Payment (x402) API base (original 14 tools): https://x402-gateway.forge-x402.workers.dev API base (wave-1 tools): https://forge-tools.dentreprise.workers.dev Network: eip155:8453 (Base) Asset: USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 payTo: 0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7 Call GET or POST without a payment header, read the 402 body and PAYMENT-REQUIRED header, then retry with PAYMENT-SIGNATURE or X-PAYMENT, or use @x402/fetch. Amounts in accepts[].amount are atomic USDC units (6 decimals). # MCP Streamable HTTP, stateless, served by the API at https://x402-gateway.forge-x402.workers.dev/mcp. Server name: forge-agent-api (1.1.0). Tools: list_endpoints (free); paid tools: fr_company, eu_vat, iban, markdown, fr_address, holidays, fx, web_meta, email_check, rdap, ch_uid, ch_uid_batch, dvf_price_m2, bodacc_health. Payment in MCP _meta via @x402/mcp. Also listed on agent-tools.cloud. # fr-company > French company lookup (SIREN/SIRET/name) from the official open-data Sirene base (recherche-entreprises.api.gouv.fr, Licence Ouverte Etalab). Returns legal name, SIREN, HQ address, NAF code, status, creation date, directors when public. - URL: https://x402-gateway.forge-x402.workers.dev/api/fr-company (GET or POST) - Price: 0.005 USDC on Base (5000 atomic USDC) - MCP tool: fr_company - Docs: https://agent-hub.dentreprise.workers.dev/tools/fr-company/ ## Parameters - `q` (string, required): Company name, SIREN (9 digits) or SIRET (14 digits) ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/fr-company?q=danone" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/fr-company", "description": "French company lookup (SIREN/SIRET/name) from the official open-data Sirene base (recherche-entreprises.api.gouv.fr, Licence Ouverte Etalab). Returns legal name, SIREN, HQ address, NAF code, status, creation date, directors when public.", "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 { "results": [ { "siren": "552032534", "name": "DANONE", "naf": "70.10Z", "hq_address": "59-61 RUE LA FAYETTE 75009 PARIS", "active": true } ] } ``` # eu-vat > EU VAT number validation against the European Commission VIES service, with normalised output (valid, name, address). - URL: https://x402-gateway.forge-x402.workers.dev/api/eu-vat (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: eu_vat - Docs: https://agent-hub.dentreprise.workers.dev/tools/eu-vat/ ## Parameters - `vat` (string, required): VAT number with 2-letter country prefix, e.g. FR40303265045 ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/eu-vat?vat=FR40303265045" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/eu-vat", "description": "EU VAT number validation against the European Commission VIES service, with normalised output (valid, name, address).", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "valid": true, "country": "FR", "number": "40303265045", "name": "SA SODIMAS" } ``` # iban > IBAN validation (ISO 13616 mod-97 checksum + per-country length), returns normalised IBAN, country and BBAN. - URL: https://x402-gateway.forge-x402.workers.dev/api/iban (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: iban - Docs: https://agent-hub.dentreprise.workers.dev/tools/iban/ ## Parameters - `iban` (string, required): iban ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/iban?iban=FR7630006000011234567890189" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/iban", "description": "IBAN validation (ISO 13616 mod-97 checksum + per-country length), returns normalised IBAN, country and BBAN.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "valid": true, "country": "FR", "iban": "FR7630006000011234567890189", "bban": "30006000011234567890189" } ``` # markdown > Fetch a public web page and return clean Markdown (scripts/styles/nav stripped) plus title. Max 2 MB, 15 s timeout, public IPs only. - URL: https://x402-gateway.forge-x402.workers.dev/api/markdown (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: markdown - Docs: https://agent-hub.dentreprise.workers.dev/tools/markdown/ ## Parameters - `url` (string, required): http(s) URL of a public page ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/markdown?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHTTP_402" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/markdown", "description": "Fetch a public web page and return clean Markdown (scripts/styles/nav stripped) plus title. Max 2 MB, 15 s timeout, public IPs only.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "url": "https://example.com", "title": "Example Domain", "markdown": "# Example Domain\n..." } ``` # fr-address > French address geocoding and normalisation via the official Base Adresse Nationale (api-adresse.data.gouv.fr). Returns normalised label, postcode, city, INSEE code, lat/lon and score. - URL: https://x402-gateway.forge-x402.workers.dev/api/fr-address (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: fr_address - Docs: https://agent-hub.dentreprise.workers.dev/tools/fr-address/ ## Parameters - `q` (string, required): Free-text French address ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/fr-address?q=8+bd+du+port+95000+cergy" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/fr-address", "description": "French address geocoding and normalisation via the official Base Adresse Nationale (api-adresse.data.gouv.fr). Returns normalised label, postcode, city, INSEE code, lat/lon and score.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "results": [ { "label": "8 Boulevard du Port 95000 Cergy", "postcode": "95000", "city": "Cergy", "citycode": "95127", "lat": 49.03, "lon": 2.06, "score": 0.95 } ] } ``` # holidays > Official public holidays for a country and year (100+ countries, Nager.Date open data), plus whether a given date is a holiday. - URL: https://x402-gateway.forge-x402.workers.dev/api/holidays (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: holidays - Docs: https://agent-hub.dentreprise.workers.dev/tools/holidays/ ## Parameters - `country` (string, required): ISO 3166-1 alpha-2 country code - `year` (string): 4-digit year - `date` (string): optional YYYY-MM-DD to test ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/holidays?country=FR&year=2026" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/holidays", "description": "Official public holidays for a country and year (100+ countries, Nager.Date open data), plus whether a given date is a holiday.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "country": "FR", "year": 2026, "count": 11, "holidays": [ { "date": "2026-01-01", "name": "New Year's Day", "local_name": "Jour de l'an" } ] } ``` # fx > Currency conversion at the official European Central Bank reference rate (via Frankfurter), with rate date. 30+ fiat currencies. - URL: https://x402-gateway.forge-x402.workers.dev/api/fx (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: fx - Docs: https://agent-hub.dentreprise.workers.dev/tools/fx/ ## Parameters - `from` (string, required): from - `to` (string, required): to - `amount` (string): amount - `date` (string): optional YYYY-MM-DD historical rate ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/fx?from=EUR&to=USD&amount=100" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/fx", "description": "Currency conversion at the official European Central Bank reference rate (via Frankfurter), with rate date. 30+ fiat currencies.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "from": "EUR", "to": "USD", "amount": 100, "rate": 1.1267, "result": 112.67, "date": "2026-11-04", "source": "ECB" } ``` # web-meta > Fetch a public URL and return its metadata: title, meta description, canonical, language, OpenGraph and Twitter card tags, favicon, RSS feeds, h1s. Public IPs only. - URL: https://x402-gateway.forge-x402.workers.dev/api/web-meta (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: web_meta - Docs: https://agent-hub.dentreprise.workers.dev/tools/web-meta/ ## Parameters - `url` (string, required): url ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/web-meta?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHTTP_402" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/web-meta", "description": "Fetch a public URL and return its metadata: title, meta description, canonical, language, OpenGraph and Twitter card tags, favicon, RSS feeds, h1s. Public IPs only.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "url": "https://example.com", "status": 200, "title": "Example Domain", "description": null, "og": {}, "feeds": [] } ``` # email-check > Email address check: RFC syntax, domain MX/A records (deliverability signal, no SMTP probe), disposable-domain and role-account flags. - URL: https://x402-gateway.forge-x402.workers.dev/api/email-check (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: email_check - Docs: https://agent-hub.dentreprise.workers.dev/tools/email-check/ ## Parameters - `email` (string, required): email ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/email-check?email=postmaster%40gmail.com" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/email-check", "description": "Email address check: RFC syntax, domain MX/A records (deliverability signal, no SMTP probe), disposable-domain and role-account flags.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "email": "contact@example.com", "syntax_ok": true, "domain": "example.com", "has_mx": true, "mx": [ "mx.example.com" ], "disposable": false, "role_account": true } ``` # rdap > Domain registration data via RDAP (the official WHOIS successor): registrar, creation/expiry/update dates, status, nameservers, DNSSEC, age in days. - URL: https://x402-gateway.forge-x402.workers.dev/api/rdap (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: rdap - Docs: https://agent-hub.dentreprise.workers.dev/tools/rdap/ ## Parameters - `domain` (string, required): domain ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/rdap?domain=wikipedia.org" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/rdap", "description": "Domain registration data via RDAP (the official WHOIS successor): registrar, creation/expiry/update dates, status, nameservers, DNSSEC, age in days.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "domain": "EXAMPLE.COM", "registrar": "RESERVED-Internet Assigned Numbers Authority", "created": "1995-08-14T04:00:00Z", "expires": "2026-08-13T04:00:00Z", "age_days": 11400, "nameservers": [ "A.IANA-SERVERS.NET" ] } ``` # ch-uid > Swiss UID / VAT (MWST/TVA/IVA) number validation against the official Swiss Federal Statistical Office UID register (UID-Register, uid-wse). Returns format check (mod-11), register status, legal name, legal form, address, commercial-register and VAT status. Sole-proprietor names are masked. - URL: https://x402-gateway.forge-x402.workers.dev/api/ch-uid (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: ch_uid - Docs: https://agent-hub.dentreprise.workers.dev/tools/ch-uid/ ## Parameters - `uid` (string, required): Swiss UID, e.g. CHE-105.829.940 or CHE105829940 MWST ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/ch-uid?uid=CHE-105.829.940" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/ch-uid", "description": "Swiss UID / VAT (MWST/TVA/IVA) number validation against the official Swiss Federal Statistical Office UID register (UID-Register, uid-wse). Returns format check (mod-11), register status, legal name, legal form, address, commercial-register and VAT status. Sole-proprietor names are masked.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "uid": "CHE-105.829.940", "uidFormatValid": true, "found": true, "isActive": true, "name": "Migros-Genossenschafts-Bund", "legalForm": "Cooperative (Genossenschaft)", "vat": { "registered": true, "active": true } } ``` # ch-uid-batch > Batch Swiss UID / VAT number validation (up to 25 numbers per call) against the official Swiss UID register. Same per-record output as /api/ch-uid. The register allows ~20 lookups/min, so a full batch can take up to ~80 s. Sole-proprietor names are masked. - URL: https://x402-gateway.forge-x402.workers.dev/api/ch-uid-batch (GET or POST) - Price: 0.05 USDC on Base (50000 atomic USDC) - MCP tool: ch_uid_batch - Docs: https://agent-hub.dentreprise.workers.dev/tools/ch-uid-batch/ ## Parameters - `uids` (string, required): Up to 25 Swiss UIDs, comma/space/newline separated (POST may also send a JSON array) ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/ch-uid-batch?uids=CHE-105.829.940%2CCHE-105.909.036" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/ch-uid-batch", "description": "Batch Swiss UID / VAT number validation (up to 25 numbers per call) against the official Swiss UID register. Same per-record output as /api/ch-uid. The register allows ~20 lookups/min, so a full batch can take up to ~80 s. Sole-proprietor names are masked.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "50000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "count": 2, "found": 2, "invalidFormat": 0, "results": [] } ``` # dvf-price-m2 > French property price per m2 around an address from official DVF sales records (DGFiP / Etalab, last 3 years): median, p25/p75, count for apartments and houses within an auto-expanding radius, geocoded via Base Adresse Nationale. Not available for Alsace-Moselle and Mayotte. - URL: https://x402-gateway.forge-x402.workers.dev/api/dvf-price-m2 (GET or POST) - Price: 0.01 USDC on Base (10000 atomic USDC) - MCP tool: dvf_price_m2 - Docs: https://agent-hub.dentreprise.workers.dev/tools/dvf-price-m2/ ## Parameters - `address` (string, required): French street address - `propertyType` (string): optional: Appartement or Maison - `surface` (number): optional surface in m2 for an estimate ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/dvf-price-m2?address=10+rue+de+la+Paix%2C+Paris" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/dvf-price-m2", "description": "French property price per m2 around an address from official DVF sales records (DGFiP / Etalab, last 3 years): median, p25/p75, count for apartments and houses within an auto-expanding radius, geocoded via Base Adresse Nationale. Not available for Alsace-Moselle and Mayotte.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "10000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "found": true, "geocodedLabel": "10 Rue de la Paix 75002 Paris", "apartmentMedianPricePerM2": 12857, "apartmentSales": 381, "houseMedianPricePerM2": 17846, "houseSales": 12 } ``` # bodacc-health > French company legal-health check from the official BODACC notices (DILA open data) for a SIREN/SIRET: insolvency proceedings (sauvegarde, redressement, liquidation), deregistration, sales, accounts filings, last notice dates and a risk summary. Natural persons (sole traders) are masked. - URL: https://x402-gateway.forge-x402.workers.dev/api/bodacc-health (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: bodacc_health - Docs: https://agent-hub.dentreprise.workers.dev/tools/bodacc-health/ ## Parameters - `siren` (string, required): SIREN (9 digits) or SIRET (14 digits) ## Unpaid example ```bash curl -sS -D - "https://x402-gateway.forge-x402.workers.dev/api/bodacc-health?siren=552032534" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://x402-gateway.forge-x402.workers.dev/api/bodacc-health", "description": "French company legal-health check from the official BODACC notices (DILA open data) for a SIREN/SIRET: insolvency proceedings (sauvegarde, redressement, liquidation), deregistration, sales, accounts filings, last notice dates and a risk summary. Natural persons (sole traders) are masked.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "siren": "552032534", "found": true, "name": "DANONE", "noticesTotal": 107, "lastNoticeDate": "2026-09-02" } ``` # x402-compliance > x402 V2 compliance tester: probes any paid endpoint without paying and checks the 402 challenge (PAYMENT-REQUIRED header, x402Version 2, accepts[] schema, CAIP-2 network, atomic amount, canonical USDC asset, payTo, maxTimeoutSeconds, EIP-712 extra, resource, Bazaar extension, CORS) and that free 200s or forged payment headers never unlock the resource. Returns score, verdict and per-check details. - URL: https://forge-tools.dentreprise.workers.dev/api/x402-compliance (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: x402_compliance - Docs: https://agent-hub.dentreprise.workers.dev/tools/x402-compliance/ ## Parameters - `url` (string, required): Paid endpoint URL to test - `method` (string): GET (default) or POST ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/x402-compliance?url=https%3A%2F%2Fx402-gateway.forge-x402.workers.dev%2Fapi%2Ffx%3Ffrom%3DEUR%26to%3DUSD" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/x402-compliance", "description": "x402 V2 compliance tester: probes any paid endpoint without paying and checks the 402 challenge (PAYMENT-REQUIRED header, x402Version 2, accepts[] schema, CAIP-2 network, atomic amount, canonical USDC asset, payTo, maxTimeoutSeconds, EIP-712 extra, resource, Bazaar extension, CORS) and that free 200s or forged payment headers never unlock the resource. Returns score, verdict and per-check details.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "verdict": "compliant", "score": 100, "summary": { "pass": 14, "warn": 0, "fail": 0 }, "checks": [ { "id": "status_402", "status": "pass" } ] } ``` # a2a-agent-card > A2A Agent Card validator and generator (A2A 1.0, detects and flags v0.3 cards): supportedInterfaces, protocolBinding/protocolVersion, capabilities, media-type modes, skills, provider, security schemes/requirements, JWS signature structure. Validate by URL (fetches /.well-known/agent-card.json) or inline JSON; or mode=generate from name, description, endpoint and skills. - URL: https://forge-tools.dentreprise.workers.dev/api/a2a-agent-card (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: a2a_agent_card - Docs: https://agent-hub.dentreprise.workers.dev/tools/a2a-agent-card/ ## Parameters - `url` (string): Agent origin or card URL - `card` (object): Inline Agent Card JSON (POST) - `mode` (string): validate (default) or generate - `name` (string): generate: agent name - `description` (string): generate: description - `endpoint` (string): generate: A2A endpoint https URL - `skills` (string): generate: JSON array or comma-separated skill names ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/a2a-agent-card?url=https%3A%2F%2Fexample.com" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/a2a-agent-card", "description": "A2A Agent Card validator and generator (A2A 1.0, detects and flags v0.3 cards): supportedInterfaces, protocolBinding/protocolVersion, capabilities, media-type modes, skills, provider, security schemes/requirements, JWS signature structure. Validate by URL (fetches /.well-known/agent-card.json) or inline JSON; or mode=generate from name, description, endpoint and skills.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "mode": "validate", "spec_version_detected": "1.0", "valid": true, "errors": 0, "warnings": 1, "issues": [] } ``` # mcp-manifest-lint > MCP manifest linter: validates an MCP registry server.json (official schema 2025-12-11: reverse-DNS name, 100-char description, pinned versions, packages registryType/transport, remotes, env vars, isSecret, fileSha256, additionalProperties) or a host config (mcpServers/servers: command vs url, args, env, hard-coded secrets). Inline JSON or URL. - URL: https://forge-tools.dentreprise.workers.dev/api/mcp-manifest-lint (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: mcp_manifest_lint - Docs: https://agent-hub.dentreprise.workers.dev/tools/mcp-manifest-lint/ ## Parameters - `url` (string): URL of server.json or config - `manifest` (object): Inline server.json or host config (POST) - `kind` (string): server_json or host_config (auto-detected) ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/mcp-manifest-lint?manifest=%5Bobject+Object%5D" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/mcp-manifest-lint", "description": "MCP manifest linter: validates an MCP registry server.json (official schema 2025-12-11: reverse-DNS name, 100-char description, pinned versions, packages registryType/transport, remotes, env vars, isSecret, fileSha256, additionalProperties) or a host config (mcpServers/servers: command vs url, args, env, hard-coded secrets). Inline JSON or URL.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "kind": "server_json", "valid": true, "errors": 0, "warnings": 1, "registry_ready": false, "issues": [ { "level": "warning", "path": "$schema" } ] } ``` # x402-manifest-from-openapi > Turn an OpenAPI 3.x / Swagger 2.0 spec (JSON or YAML, URL or inline) into a ready-to-mount x402 V2 paywall: per-operation accepts[] (exact, CAIP-2 network, atomic USDC amount, payTo, EIP-712 extra), @x402/core route config, Bazaar discovery input/output schemas, a /.well-known/x402 document and a sample PAYMENT-REQUIRED payload. - URL: https://forge-tools.dentreprise.workers.dev/api/x402-manifest-from-openapi (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: x402_manifest_from_openapi - Docs: https://agent-hub.dentreprise.workers.dev/tools/x402-manifest-from-openapi/ ## Parameters - `url` (string): OpenAPI URL - `spec` (object): Inline spec (POST) - `payTo` (string, required): Receiving address - `price` (string): Default USD price per call - `prices` (string): JSON map {"GET /path": 0.002} - `network` (string): CAIP-2, default eip155:8453 - `base_url` (string): Override server URL ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/x402-manifest-from-openapi?url=https%3A%2F%2Fpetstore3.swagger.io%2Fapi%2Fv3%2Fopenapi.json&payTo=0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7&price=0.001" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/x402-manifest-from-openapi", "description": "Turn an OpenAPI 3.x / Swagger 2.0 spec (JSON or YAML, URL or inline) into a ready-to-mount x402 V2 paywall: per-operation accepts[] (exact, CAIP-2 network, atomic USDC amount, payTo, EIP-712 extra), @x402/core route config, Bazaar discovery input/output schemas, a /.well-known/x402 document and a sample PAYMENT-REQUIRED payload.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "operations": 19, "routes": [ { "method": "GET", "path": "/pet/{petId}", "accepts": [ { "scheme": "exact", "amount": "1000" } ] } ], "well_known_x402": { "version": 1, "resources": [] } } ``` # pubmed-search > PubMed / MEDLINE search with full records: PMID, title, authors, journal, year, volume/pages, DOI, PMCID, publication types, MeSH terms and abstract. Accepts PubMed query syntax or a list of PMIDs. No API key needed. - URL: https://forge-tools.dentreprise.workers.dev/api/pubmed-search (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: pubmed_search - Docs: https://agent-hub.dentreprise.workers.dev/tools/pubmed-search/ ## Parameters - `q` (string): PubMed query - `pmid` (string): Comma-separated PMIDs (alternative to q) - `max` (string): 1-20, default 5 - `sort` (string): relevance or pub_date - `abstracts` (string): true/false, default true ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/pubmed-search?q=x402+OR+%22agent+payments%22&max=3" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/pubmed-search", "description": "PubMed / MEDLINE search with full records: PMID, title, authors, journal, year, volume/pages, DOI, PMCID, publication types, MeSH terms and abstract. Accepts PubMed query syntax or a list of PMIDs. No API key needed.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "total": 1234, "count": 3, "articles": [ { "pmid": "38000000", "title": "…", "doi": "10.…", "abstract": "…" } ] } ``` # x402-listing-check > Checks that a host exposes a valid x402 discovery listing (/.well-known/x402, x402.json, x402-listing): JSON, version, https resource URLs, same host, companions (/openapi.json, /llms.txt), and probes up to 10 listed resources for a real 402 challenge with consistent payTo. Never pays. - URL: https://forge-tools.dentreprise.workers.dev/api/x402-listing-check (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: x402_listing_check - Docs: https://agent-hub.dentreprise.workers.dev/tools/x402-listing-check/ ## Parameters - `url` (string, required): Host or origin URL - `probe` (string): Resources to probe, 0-10, default 5 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/x402-listing-check?url=https%3A%2F%2Fx402-gateway.forge-x402.workers.dev" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/x402-listing-check", "description": "Checks that a host exposes a valid x402 discovery listing (/.well-known/x402, x402.json, x402-listing): JSON, version, https resource URLs, same host, companions (/openapi.json, /llms.txt), and probes up to 10 listed resources for a real 402 challenge with consistent payTo. Never pays.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "verdict": "valid", "resources_count": 14, "probes": [ { "status": 402, "ok": true } ] } ``` # lei-lookup > Legal Entity Identifier lookup from the official GLEIF register: by LEI (with ISO 17442 checksum check) or by legal-name search with optional country. Returns legal name, status, legal form, jurisdiction, legal and HQ addresses, registration status/renewal, BIC, direct and ultimate parents. - URL: https://forge-tools.dentreprise.workers.dev/api/lei-lookup (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: lei_lookup - Docs: https://agent-hub.dentreprise.workers.dev/tools/lei-lookup/ ## Parameters - `lei` (string): 20-char LEI - `name` (string): Legal name search (alternative) - `country` (string): ISO alpha-2 filter for name search - `max` (string): 1-20 - `relationships` (string): true/false, default true ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/lei-lookup?lei=969500KMUQ2B6CBAF162" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/lei-lookup", "description": "Legal Entity Identifier lookup from the official GLEIF register: by LEI (with ISO 17442 checksum check) or by legal-name search with optional country. Returns legal name, status, legal form, jurisdiction, legal and HQ addresses, registration status/renewal, BIC, direct and ultimate parents.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "lei": "969500KMUQ2B6CBAF162", "found": true, "legal_name": "DANONE", "status": "ACTIVE", "jurisdiction": "FR", "ultimate_parent": null } ``` # rss-to-json > RSS 2.0 / RSS 1.0 (RDF) / Atom / JSON Feed to clean JSON: feed title, link, language, updated, items with id, title, link, ISO dates, author, text summary, categories and enclosures (podcasts). URL or inline XML, item cap, `since` filter; HTML pages return discovered feed links. - URL: https://forge-tools.dentreprise.workers.dev/api/rss-to-json (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: rss_to_json - Docs: https://agent-hub.dentreprise.workers.dev/tools/rss-to-json/ ## Parameters - `url` (string): Feed URL - `xml` (string): Inline feed (POST) - `limit` (string): 1-100, default 20 - `since` (string): ISO date: only newer items - `html` (string): keep HTML in summaries ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/rss-to-json?url=https%3A%2F%2Fhnrss.org%2Ffrontpage&limit=10" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/rss-to-json", "description": "RSS 2.0 / RSS 1.0 (RDF) / Atom / JSON Feed to clean JSON: feed title, link, language, updated, items with id, title, link, ISO dates, author, text summary, categories and enclosures (podcasts). URL or inline XML, item cap, `since` filter; HTML pages return discovered feed links.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "format": "rss 2.0", "title": "Hacker News: Front Page", "count": 10, "items": [ { "title": "…", "link": "…", "published": "2026-11-10T12:00:00.000Z" } ] } ``` # eori-validate > EORI number validation (customs trader ID) against the official European Commission EOS register, and UK GB numbers against HMRC. Up to 10 numbers per call; returns validity plus name and address when the trader consented to publication. - URL: https://forge-tools.dentreprise.workers.dev/api/eori-validate (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: eori_validate - Docs: https://agent-hub.dentreprise.workers.dev/tools/eori-validate/ ## Parameters - `eori` (string, required): EORI number(s), comma-separated, max 10 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/eori-validate?eori=FR55203253400019" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/eori-validate", "description": "EORI number validation (customs trader ID) against the official European Commission EOS register, and UK GB numbers against HMRC. Up to 10 numbers per call; returns validity plus name and address when the trader consented to publication.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "count": 1, "valid": 0, "results": [ { "eori": "FR55203253400019", "valid": false, "status": "Not valid", "registry": "EU EOS (European Commission)" } ] } ``` # sec-financials > US public company financial facts from SEC EDGAR XBRL (by ticker or CIK): revenue, net income, operating income, gross profit, diluted EPS, assets, liabilities, equity, cash, operating cash flow, long-term debt, shares outstanding — last 1-5 fiscal years plus latest quarter, with form, filing date and accession; plus recent 10-K/10-Q/8-K filings. Any raw us-gaap tag also accepted. - URL: https://forge-tools.dentreprise.workers.dev/api/sec-financials (GET or POST) - Price: 0.005 USDC on Base (5000 atomic USDC) - MCP tool: sec_financials - Docs: https://agent-hub.dentreprise.workers.dev/tools/sec-financials/ ## Parameters - `ticker` (string): Ticker, e.g. AAPL - `cik` (string): SEC CIK (alternative) - `years` (string): 1-5, default 3 - `metrics` (string): Comma list: revenue,net_income,… or us-gaap:Tag ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/sec-financials?ticker=AAPL&years=3" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/sec-financials", "description": "US public company financial facts from SEC EDGAR XBRL (by ticker or CIK): revenue, net income, operating income, gross profit, diluted EPS, assets, liabilities, equity, cash, operating cash flow, long-term debt, shares outstanding — last 1-5 fiscal years plus latest quarter, with form, filing date and accession; plus recent 10-K/10-Q/8-K filings. Any raw us-gaap tag also accepted.", "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 { "cik": "0000320193", "name": "Apple Inc.", "metrics": { "revenue": { "unit": "USD", "annual": [ { "period_end": "2026-09-26", "value": 0 } ] } } } ``` # openfoodfacts-product > Food product sheet from a barcode (EAN/UPC/GTIN) via Open Food Facts: name, brand, quantity, Nutri-Score, NOVA, Eco-Score, nutriments per 100 g, ingredients, allergens, traces, labels, categories, countries, packaging, image. - URL: https://forge-tools.dentreprise.workers.dev/api/openfoodfacts-product (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: openfoodfacts_product - Docs: https://agent-hub.dentreprise.workers.dev/tools/openfoodfacts-product/ ## Parameters - `barcode` (string, required): 8-14 digit barcode ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/openfoodfacts-product?barcode=3017624010701" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/openfoodfacts-product", "description": "Food product sheet from a barcode (EAN/UPC/GTIN) via Open Food Facts: name, brand, quantity, Nutri-Score, NOVA, Eco-Score, nutriments per 100 g, ingredients, allergens, traces, labels, categories, countries, packaging, image.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "found": true, "name": "Nutella", "brands": "Ferrero", "nutriscore": "e" } ``` # arxiv-search > arXiv preprint search (plain words or arXiv field syntax ti:, au:, abs:, cat:) or id lookup: title, authors, dates, categories, abstract, DOI, journal ref, abs and PDF links. - URL: https://forge-tools.dentreprise.workers.dev/api/arxiv-search (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: arxiv_search - Docs: https://agent-hub.dentreprise.workers.dev/tools/arxiv-search/ ## Parameters - `q` (string): Query - `id` (string): arXiv id(s), comma-separated - `max` (string): 1-25, default 5 - `sort` (string): relevance, submitted, updated ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/arxiv-search?q=agent+payments&max=3" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/arxiv-search", "description": "arXiv preprint search (plain words or arXiv field syntax ti:, au:, abs:, cat:) or id lookup: title, authors, dates, categories, abstract, DOI, journal ref, abs and PDF links.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "total": 120, "count": 3, "papers": [ { "id": "2501.00001v1", "title": "…", "pdf_url": "https://arxiv.org/pdf/2501.00001v1" } ] } ``` # crossref-doi > DOI metadata from Crossref: type, title, container (journal/book), publisher, authors with ORCID and affiliations, dates, volume/issue/pages, ISSN/ISBN, licenses, abstract, subjects, citation counts, funders, and optionally the reference list. - URL: https://forge-tools.dentreprise.workers.dev/api/crossref-doi (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: crossref_doi - Docs: https://agent-hub.dentreprise.workers.dev/tools/crossref-doi/ ## Parameters - `doi` (string, required): DOI or doi.org URL - `references` (string): true to include references ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/crossref-doi?doi=10.1038%2Fnature12373" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/crossref-doi", "description": "DOI metadata from Crossref: type, title, container (journal/book), publisher, authors with ORCID and affiliations, dates, volume/issue/pages, ISSN/ISBN, licenses, abstract, subjects, citation counts, funders, and optionally the reference list.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "found": true, "title": "Nanometre-scale thermometry in a living cell", "container": "Nature" } ``` # gtin-validate > GTIN / EAN-8 / EAN-13 / UPC-A / UPC-E / GTIN-14 validation and normalisation (GS1 check digit): type, expected check digit, corrected code, GTIN-14 and EAN-13 forms, GS1 prefix region, book/coupon flags. Up to 100 codes per call. - URL: https://forge-tools.dentreprise.workers.dev/api/gtin-validate (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: gtin_validate - Docs: https://agent-hub.dentreprise.workers.dev/tools/gtin-validate/ ## Parameters - `gtin` (string, required): Code(s), comma-separated ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/gtin-validate?gtin=3017624010701" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/gtin-validate", "description": "GTIN / EAN-8 / EAN-13 / UPC-A / UPC-E / GTIN-14 validation and normalisation (GS1 check digit): type, expected check digit, corrected code, GTIN-14 and EAN-13 forms, GS1 prefix region, book/coupon flags. Up to 100 codes per call.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "type": "EAN-13", "valid": true, "gtin14": "03017624010701", "gs1_prefix_region": "France & Monaco" } ``` # isbn-validate > ISBN-10 / ISBN-13 validation and conversion (ISO 2108 check digits): valid flag, expected check digit, corrected value, both forms, GTIN-14, registration group hint. - URL: https://forge-tools.dentreprise.workers.dev/api/isbn-validate (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: isbn_validate - Docs: https://agent-hub.dentreprise.workers.dev/tools/isbn-validate/ ## Parameters - `isbn` (string, required): ISBN-10 or ISBN-13 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/isbn-validate?isbn=978-2-07-036822-8" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/isbn-validate", "description": "ISBN-10 / ISBN-13 validation and conversion (ISO 2108 check digits): valid flag, expected check digit, corrected value, both forms, GTIN-14, registration group hint.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "format": "ISBN-13", "valid": true, "isbn10": "2070368223" } ``` # mcp-inspect > Remote MCP server inspector (Streamable HTTP): initialize handshake, protocol version, serverInfo, capabilities, session, latency, tools/list with per-tool checks (name pattern, description, inputSchema object, undocumented or missing required params), resources/prompts counts. Read-only: never calls a tool. - URL: https://forge-tools.dentreprise.workers.dev/api/mcp-inspect (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: mcp_inspect - Docs: https://agent-hub.dentreprise.workers.dev/tools/mcp-inspect/ ## Parameters - `url` (string, required): MCP endpoint URL ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/mcp-inspect?url=https%3A%2F%2Fexample.com%2Fmcp" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/mcp-inspect", "description": "Remote MCP server inspector (Streamable HTTP): initialize handshake, protocol version, serverInfo, capabilities, session, latency, tools/list with per-tool checks (name pattern, description, inputSchema object, undocumented or missing required params), resources/prompts counts. Read-only: never calls a tool.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "reachable": true, "healthy": true, "protocol_version": "2025-06-18", "tools_count": 12 } ``` # openapi-lint > OpenAPI linter for agent readiness: version, info, servers, operationId presence/uniqueness/LLM-safe names, summaries, parameter schemas and descriptions, path placeholders, success and error responses, JSON examples. Returns an agent-readiness score and actionable issues. - URL: https://forge-tools.dentreprise.workers.dev/api/openapi-lint (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: openapi_lint - Docs: https://agent-hub.dentreprise.workers.dev/tools/openapi-lint/ ## Parameters - `url` (string): Spec URL - `spec` (object): Inline spec (POST) ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/openapi-lint?url=https%3A%2F%2Fpetstore3.swagger.io%2Fapi%2Fv3%2Fopenapi.json" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/openapi-lint", "description": "OpenAPI linter for agent readiness: version, info, servers, operationId presence/uniqueness/LLM-safe names, summaries, parameter schemas and descriptions, path placeholders, success and error responses, JSON examples. Returns an agent-readiness score and actionable issues.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "agent_readiness_score": 78, "operations": 19, "errors": 0, "warnings": 4 } ``` # sitemap-urls > sitemap.xml URL extractor: reads a sitemap or sitemap index (incl. .gz) and up to 10 child sitemaps, returns URLs with lastmod/changefreq/priority, optional substring filter, capped list (up to 5000). - URL: https://forge-tools.dentreprise.workers.dev/api/sitemap-urls (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: sitemap_urls - Docs: https://agent-hub.dentreprise.workers.dev/tools/sitemap-urls/ ## Parameters - `url` (string, required): Sitemap URL or site origin - `limit` (string): 1-5000, default 500 - `max_children` (string): 0-10, default 5 - `contains` (string): Only URLs containing this text ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/sitemap-urls?url=https%3A%2F%2Fwww.sitemaps.org%2Fsitemap.xml&limit=50" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/sitemap-urls", "description": "sitemap.xml URL extractor: reads a sitemap or sitemap index (incl. .gz) and up to 10 child sitemaps, returns URLs with lastmod/changefreq/priority, optional substring filter, capped list (up to 5000).", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "type": "urlset", "count": 50, "urls": [ { "loc": "https://…", "lastmod": "2026-01-01" } ] } ``` # tz-convert > IANA time zone conversion: an instant (ISO with offset, Z, or Unix) or a local wall time in a source zone converted to up to 20 zones, with UTC offset, abbreviation and DST gap/overlap handling (ambiguous times return both instants). - URL: https://forge-tools.dentreprise.workers.dev/api/tz-convert (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: tz_convert - Docs: https://agent-hub.dentreprise.workers.dev/tools/tz-convert/ ## Parameters - `time` (string): ISO date-time or local time; default now - `from` (string): Source IANA zone for local times, default UTC - `to` (string, required): Target zones, comma-separated ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/tz-convert?time=2026-03-29T02%3A30&from=Europe%2FParis&to=America%2FNew_York%2CAsia%2FTokyo" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/tz-convert", "description": "IANA time zone conversion: an instant (ISO with offset, Z, or Unix) or a local wall time in a source zone converted to up to 20 zones, with UTC offset, abbreviation and DST gap/overlap handling (ambiguous times return both instants).", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "status": "ok", "results": [ { "utc": "2026-11-10T15:00:00.000Z", "targets": [ { "zone": "Asia/Tokyo", "local": "2026-11-11T00:00:00", "offset": "+09:00" } ] } ] } ``` # uuid-v7 > RFC 9562 UUIDv7 generator (time-sortable, 1-100 per call, optional timestamp) and UUID validator/decoder (version, variant, embedded timestamp for v1/v7). - URL: https://forge-tools.dentreprise.workers.dev/api/uuid-v7 (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: uuid_v7 - Docs: https://agent-hub.dentreprise.workers.dev/tools/uuid-v7/ ## Parameters - `count` (string): 1-100 - `timestamp` (string): ISO date for the time part - `uuid` (string): UUID to validate/decode instead ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/uuid-v7?count=3" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/uuid-v7", "description": "RFC 9562 UUIDv7 generator (time-sortable, 1-100 per call, optional timestamp) and UUID validator/decoder (version, variant, embedded timestamp for v1/v7).", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "version": 7, "count": 3, "uuids": [ "019a6f2e-…" ] } ``` # siren-check > 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. - URL: https://forge-tools.dentreprise.workers.dev/api/siren-check (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: siren_check - Docs: https://agent-hub.dentreprise.workers.dev/tools/siren-check/ ## Parameters - `siren` (string, required): SIREN/SIRET number(s), comma-separated ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/siren-check?siren=552032534" ``` ## Example 402 challenge ```json { "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" } } ] } ``` ## Example response ```json { "type": "SIREN", "valid": true, "vat_number_fr": "FR27552032534" } ``` # phone-parse > Phone number parsing and validation to E.164 (libphonenumber numbering plans): validity, country, calling code, type (mobile, fixed line, toll-free…), national/international formats, tel: URI. Up to 50 numbers. No carrier lookup, no call. - URL: https://forge-tools.dentreprise.workers.dev/api/phone-parse (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: phone_parse - Docs: https://agent-hub.dentreprise.workers.dev/tools/phone-parse/ ## Parameters - `phone` (string, required): Number(s); separate with ; or newline - `country` (string): Default ISO country for national numbers ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/phone-parse?phone=%2B33+1+23+45+67+89" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/phone-parse", "description": "Phone number parsing and validation to E.164 (libphonenumber numbering plans): validity, country, calling code, type (mobile, fixed line, toll-free…), national/international formats, tel: URI. Up to 50 numbers. No carrier lookup, no call.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "valid": true, "e164": "+33123456789", "country": "FR", "type": "FIXED_LINE" } ``` # x402-facilitator-health > x402 facilitator health check: calls GET /supported on a facilitator (or on a default list incl. CDP, xpay, x402.org, PayAI), reports alive/auth-required, latency, supported kinds (version, scheme, network), V2 and network support, and flags deprecated URLs. - URL: https://forge-tools.dentreprise.workers.dev/api/x402-facilitator-health (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: x402_facilitator_health - Docs: https://agent-hub.dentreprise.workers.dev/tools/x402-facilitator-health/ ## Parameters - `url` (string): Facilitator base URL (optional) - `network` (string): CAIP-2 network to check, default eip155:8453 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/x402-facilitator-health?network=eip155%3A8453" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/x402-facilitator-health", "description": "x402 facilitator health check: calls GET /supported on a facilitator (or on a default list incl. CDP, xpay, x402.org, PayAI), reports alive/auth-required, latency, supported kinds (version, scheme, network), V2 and network support, and flags deprecated URLs.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "checked": 4, "alive": 3, "results": [ { "facilitator": "https://facilitator.xpay.sh", "alive": true, "supports_v2": true } ] } ``` # json-schema-validate > Validate LLM/agent JSON output against a JSON Schema (2020-12 subset) and auto-repair typical errors: code fences, trailing commas, numbers/booleans as strings, wrong enum case, single value instead of array, null optionals, extra or mis-cased keys, missing defaults. Returns errors, repaired JSON and fixes. POST recommended. - URL: https://forge-tools.dentreprise.workers.dev/api/json-schema-validate (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: json_schema_validate - Docs: https://agent-hub.dentreprise.workers.dev/tools/json-schema-validate/ ## Parameters - `schema` (object, required): JSON Schema - `data` (string, required): JSON value or string to check - `repair` (string): true (default) / false ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/json-schema-validate?schema=%5Bobject+Object%5D&data=%7B%22age%22%3A+%2242%22%7D" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/json-schema-validate", "description": "Validate LLM/agent JSON output against a JSON Schema (2020-12 subset) and auto-repair typical errors: code fences, trailing commas, numbers/booleans as strings, wrong enum case, single value instead of array, null optionals, extra or mis-cased keys, missing defaults. Returns errors, repaired JSON and fixes. POST recommended.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "valid": false, "errors": [ { "path": "$.age", "msg": "expected integer, got string" } ], "repaired": { "age": 42 }, "repaired_valid": true } ``` # wikidata-entity > Wikidata entity lookup by Q-id or search text: label, description, aliases in a chosen language, key claims (instance of, country, coordinates, inception, website, population, HQ, founders, industry, identifiers such as LEI/ticker/ISNI…) with resolved labels, Wikipedia link. - URL: https://forge-tools.dentreprise.workers.dev/api/wikidata-entity (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: wikidata_entity - Docs: https://agent-hub.dentreprise.workers.dev/tools/wikidata-entity/ ## Parameters - `id` (string): Q-id - `q` (string): Search text (alternative) - `lang` (string): Language code, default en ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/wikidata-entity?q=Annecy&lang=fr" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/wikidata-entity", "description": "Wikidata entity lookup by Q-id or search text: label, description, aliases in a chosen language, key claims (instance of, country, coordinates, inception, website, population, HQ, founders, industry, identifiers such as LEI/ticker/ISNI…) with resolved labels, Wikipedia link.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "id": "Q50189", "label": "Annecy", "claims": { "country": [ { "id": "Q142", "label": "France" } ] } } ``` # fr-communes > French municipalities (INSEE COG) by name, postcode or INSEE code: official name, INSEE code, postcodes, population, area, department, region, EPCI, SIREN, centre coordinates. - URL: https://forge-tools.dentreprise.workers.dev/api/fr-communes (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: fr_communes - Docs: https://agent-hub.dentreprise.workers.dev/tools/fr-communes/ ## Parameters - `name` (string): Commune name - `postcode` (string): 5-digit postcode - `insee` (string): 5-char INSEE code - `limit` (string): 1-20 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/fr-communes?name=Annecy" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/fr-communes", "description": "French municipalities (INSEE COG) by name, postcode or INSEE code: official name, INSEE code, postcodes, population, area, department, region, EPCI, SIREN, centre coordinates.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "count": 1, "results": [ { "name": "Annecy", "insee": "74010", "population": 132117, "department": { "code": "74" } } ] } ``` # fx-history > Official ECB reference-rate time series for a currency pair (or up to 10 targets) over a date range up to 2 years: daily points plus first/last/min/max/mean/% change. - URL: https://forge-tools.dentreprise.workers.dev/api/fx-history (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: fx_history - Docs: https://agent-hub.dentreprise.workers.dev/tools/fx-history/ ## Parameters - `from` (string): Base ISO 4217, default EUR - `to` (string, required): Target(s), comma-separated - `start` (string, required): YYYY-MM-DD - `end` (string): YYYY-MM-DD, default today ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/fx-history?from=EUR&to=USD&start=2026-01-01&end=2026-03-31" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/fx-history", "description": "Official ECB reference-rate time series for a currency pair (or up to 10 targets) over a date range up to 2 years: daily points plus first/last/min/max/mean/% change.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "observations": 63, "series": { "USD": { "stats": { "min": 1.16, "max": 1.19, "change_pct": 1.2 } } } } ``` # fr-school-calendar > French school holidays (calendrier scolaire, Éducation nationale) by school year and zone A/B/C (or overseas/Corsica), with académies, start/end dates, and an optional date test (is this date a school holiday, and where). - URL: https://forge-tools.dentreprise.workers.dev/api/fr-school-calendar (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: fr_school_calendar - Docs: https://agent-hub.dentreprise.workers.dev/tools/fr-school-calendar/ ## Parameters - `zone` (string): A, B, C or overseas zone - `year` (string): School year e.g. 2026-2027 - `date` (string): YYYY-MM-DD to test - `academie` (string): Académie name filter ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/fr-school-calendar?zone=A&year=2026-2027" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/fr-school-calendar", "description": "French school holidays (calendrier scolaire, Éducation nationale) by school year and zone A/B/C (or overseas/Corsica), with académies, start/end dates, and an optional date test (is this date a school holiday, and where).", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "school_year": "2026-2027", "count": 6, "periods": [ { "description": "Vacances de la Toussaint", "start_local": "2026-10-17" } ] } ``` # openapi-to-mcp > Convert an OpenAPI spec (JSON/YAML, URL or inline) into MCP tool definitions: LLM-safe unique names, descriptions, JSON Schema inputSchema (query/path/header params + JSON body), MCP annotations (readOnly/destructive/idempotent), plus HTTP forwarding hints and a ready tools/list response. - URL: https://forge-tools.dentreprise.workers.dev/api/openapi-to-mcp (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: openapi_to_mcp - Docs: https://agent-hub.dentreprise.workers.dev/tools/openapi-to-mcp/ ## Parameters - `url` (string): Spec URL - `spec` (object): Inline spec (POST) - `base_url` (string): Override server URL ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/openapi-to-mcp?url=https%3A%2F%2Fpetstore3.swagger.io%2Fapi%2Fv3%2Fopenapi.json" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/openapi-to-mcp", "description": "Convert an OpenAPI spec (JSON/YAML, URL or inline) into MCP tool definitions: LLM-safe unique names, descriptions, JSON Schema inputSchema (query/path/header params + JSON body), MCP annotations (readOnly/destructive/idempotent), plus HTTP forwarding hints and a ready tools/list response.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "count": 19, "tools": [ { "name": "getPetById", "inputSchema": { "type": "object" } } ] } ``` # 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" } ] } ``` # fr-legal-status > French company legal status by SIREN/SIRET: Sirene administrative status (active/ceased, closure date, legal form, NAF, head office) plus BODACC collective proceedings (sauvegarde, redressement, liquidation judiciaire, clôture) with latest stage, ongoing flag and risk level. - URL: https://forge-tools.dentreprise.workers.dev/api/fr-legal-status (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: fr_legal_status - Docs: https://agent-hub.dentreprise.workers.dev/tools/fr-legal-status/ ## Parameters - `siren` (string, required): SIREN or SIRET - `max` (string): notices 1-50 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/fr-legal-status?siren=552032534" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/fr-legal-status", "description": "French company legal status by SIREN/SIRET: Sirene administrative status (active/ceased, closure date, legal form, NAF, head office) plus BODACC collective proceedings (sauvegarde, redressement, liquidation judiciaire, clôture) with latest stage, ongoing flag and risk level.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "siren": "552032534", "company": { "name": "DANONE", "status": "active" }, "collective_proceedings": { "count": 0, "ongoing": false }, "risk": "none_found" } ``` # eu-tenders > Public tender scanner: keyword search across BOAMP (France) and TED (EU Official Journal, all member states) since a date, merged and sorted: title, buyer, publication date, deadline, notice type, country, CPV codes and link. - URL: https://forge-tools.dentreprise.workers.dev/api/eu-tenders (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: eu_tenders - Docs: https://agent-hub.dentreprise.workers.dev/tools/eu-tenders/ ## Parameters - `q` (string, required): Keywords - `since` (string): YYYY-MM-DD, default 30 days ago - `sources` (string): boamp,ted - `country` (string): TED buyer country ISO alpha-3, e.g. DEU - `max` (string): 1-50 per source ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/eu-tenders?q=logiciel&since=2026-11-01" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/eu-tenders", "description": "Public tender scanner: keyword search across BOAMP (France) and TED (EU Official Journal, all member states) since a date, merged and sorted: title, buyer, publication date, deadline, notice type, country, CPV codes and link.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "count": 20, "results": [ { "source": "TED", "title": "Software development services", "buyer": "…", "deadline": "2026-12-01" } ] } ``` # uk-postcode > UK postcode lookup and validation (postcodes.io, ONS/OS open data): country, region, district, ward, parish, constituency, lat/lon, eastings/northings, NUTS; terminated postcodes detected; reverse lookup from lat/lon. - URL: https://forge-tools.dentreprise.workers.dev/api/uk-postcode (GET or POST) - Price: 0.001 USDC on Base (1000 atomic USDC) - MCP tool: uk_postcode - Docs: https://agent-hub.dentreprise.workers.dev/tools/uk-postcode/ ## Parameters - `postcode` (string): UK postcode - `lat` (string): reverse: latitude - `lon` (string): reverse: longitude ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/uk-postcode?postcode=SW1A+1AA" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/uk-postcode", "description": "UK postcode lookup and validation (postcodes.io, ONS/OS open data): country, region, district, ward, parish, constituency, lat/lon, eastings/northings, NUTS; terminated postcodes detected; reverse lookup from lat/lon.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "valid": true, "postcode": "SW1A 1AA", "admin_district": "Westminster", "lat": 51.501, "lon": -0.1416 } ``` # eu-address > Address geocoding and normalisation through official national open services: France (Base Adresse Nationale), Netherlands (PDOK/BAG), Spain (CartoCiudad/IGN), Switzerland (swisstopo). Returns normalised label, street, number, postcode, city, region, coordinates and score. - URL: https://forge-tools.dentreprise.workers.dev/api/eu-address (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: eu_address - Docs: https://agent-hub.dentreprise.workers.dev/tools/eu-address/ ## Parameters - `address` (string, required): Free-text address - `country` (string, required): FR, NL, ES or CH - `limit` (string): 1-10 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/eu-address?address=Damrak+1+Amsterdam&country=NL" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/eu-address", "description": "Address geocoding and normalisation through official national open services: France (Base Adresse Nationale), Netherlands (PDOK/BAG), Spain (CartoCiudad/IGN), Switzerland (swisstopo). Returns normalised label, street, number, postcode, city, region, coordinates and score.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "country": "NL", "count": 1, "results": [ { "label": "Damrak 1, 1012LG Amsterdam", "postcode": "1012LG", "lat": 52.37, "lon": 4.89 } ] } ``` # no-company > Norwegian company register (Brønnøysundregistrene) by org number or name: legal form, registration and founding dates, VAT registration and VAT number, bankruptcy, liquidation and forced-dissolution flags, employees, industry, address, website. - URL: https://forge-tools.dentreprise.workers.dev/api/no-company (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: no_company - Docs: https://agent-hub.dentreprise.workers.dev/tools/no-company/ ## Parameters - `orgnr` (string): 9-digit org number - `name` (string): Name search - `max` (string): 1-20 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/no-company?orgnr=923609016" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/no-company", "description": "Norwegian company register (Brønnøysundregistrene) by org number or name: legal form, registration and founding dates, VAT registration and VAT number, bankruptcy, liquidation and forced-dissolution flags, employees, industry, address, website.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "found": true, "name": "EQUINOR ASA", "vat_registered": true, "bankrupt": false } ``` # fi-company > Finnish company register (PRH / YTJ open data) by Business ID (Y-tunnus) or name: current name, registration date, legal form, status, trade-register status, main business line, address, website, EUID and derived VAT number. - URL: https://forge-tools.dentreprise.workers.dev/api/fi-company (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: fi_company - Docs: https://agent-hub.dentreprise.workers.dev/tools/fi-company/ ## Parameters - `business_id` (string): Y-tunnus 1234567-8 - `name` (string): Name search - `max` (string): 1-20 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/fi-company?business_id=0112038-9" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/fi-company", "description": "Finnish company register (PRH / YTJ open data) by Business ID (Y-tunnus) or name: current name, registration date, legal form, status, trade-register status, main business line, address, website, EUID and derived VAT number.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "total": 1, "results": [ { "business_id": "0112038-9", "name": "Nokia Oyj", "vat_number": "FI01120389" } ] } ``` # uk-company > UK company register (official Companies House API): search by name, or lookup by company number with profile (status, type, incorporation/dissolution, SIC codes, registered office, previous names), officer counts (active/resigned) and filing status (accounts and confirmation statement due/overdue), insolvency, liquidation and charges flags. - URL: https://forge-tools.dentreprise.workers.dev/api/uk-company (GET or POST) - Price: 0.002 USDC on Base (2000 atomic USDC) - MCP tool: uk_company - Docs: https://agent-hub.dentreprise.workers.dev/tools/uk-company/ ## Parameters - `company_number` (string): 8-char company number - `name` (string): Name search (alternative) - `max` (string): 1-20 ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/uk-company?company_number=00445790" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/uk-company", "description": "UK company register (official Companies House API): search by name, or lookup by company number with profile (status, type, incorporation/dissolution, SIC codes, registered office, previous names), officer counts (active/resigned) and filing status (accounts and confirmation statement due/overdue), insolvency, liquidation and charges flags.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "2000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "found": true, "name": "TESCO PLC", "status": "active", "officers": { "active": 12 }, "filing": { "accounts_overdue": false } } ``` # kyb-check-uk > One-call KYB for a UK company (company number or name): Companies House profile, officers and filing status, insolvency/liquidation flags, plus sanctions screening (US CSL/OFAC, EU, FR, UK) of the registered name, with a pass/review/fail verdict and flags. - URL: https://forge-tools.dentreprise.workers.dev/api/kyb-check-uk (GET or POST) - Price: 0.01 USDC on Base (10000 atomic USDC) - MCP tool: kyb_check_uk - Docs: https://agent-hub.dentreprise.workers.dev/tools/kyb-check-uk/ ## Parameters - `company_number` (string): 8-char company number - `name` (string): Name (alternative; best match is checked) ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/kyb-check-uk?company_number=00445790" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/kyb-check-uk", "description": "One-call KYB for a UK company (company number or name): Companies House profile, officers and filing status, insolvency/liquidation flags, plus sanctions screening (US CSL/OFAC, EU, FR, UK) of the registered name, with a pass/review/fail verdict and flags.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "10000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "verdict": "pass", "flags": [], "company": { "name": "TESCO PLC", "status": "active" }, "sanctions": { "match": false } } ``` # eu-carbon-customs > EU CBAM (carbon border adjustment) default embedded emissions for a CN/TARIC code and country of origin, from the official Commission default-values file: direct, indirect and total tCO2e per tonne, production route, year mark-up, and optional embedded emissions and certificate cost for a shipment (tonnes, EUR price). - URL: https://forge-tools.dentreprise.workers.dev/api/eu-carbon-customs (GET or POST) - Price: 0.003 USDC on Base (3000 atomic USDC) - MCP tool: eu_carbon_customs - Docs: https://agent-hub.dentreprise.workers.dev/tools/eu-carbon-customs/ ## Parameters - `cn` (string, required): CN/TARIC code 4-10 digits - `country` (string, required): Origin country name or ISO alpha-2 - `year` (string): 2026+ - `tonnes` (string): Shipment mass in tonnes (optional) - `price_eur` (string): CBAM certificate price EUR/tCO2e (optional) ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/eu-carbon-customs?cn=72081000&country=CN&tonnes=100&price_eur=75" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/eu-carbon-customs", "description": "EU CBAM (carbon border adjustment) default embedded emissions for a CN/TARIC code and country of origin, from the official Commission default-values file: direct, indirect and total tCO2e per tonne, production route, year mark-up, and optional embedded emissions and certificate cost for a shipment (tonnes, EUR price).", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "3000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "cn": "72081000", "country_table": "China", "items": [ { "description": "Flat-rolled products…", "total": 2.5, "total_with_markup": 2.75, "embedded_emissions_t": 275 } ] } ``` # kyb-check-eu > One-call KYB for any EU company by VAT number: VIES validity with registered name/address, sanctions screening (US CSL/OFAC, EU, FR, UK) of the name, GLEIF LEI candidates, plus national register data for France (Sirene + BODACC proceedings) and Finland (PRH), with a pass/review/fail verdict. - URL: https://forge-tools.dentreprise.workers.dev/api/kyb-check-eu (GET or POST) - Price: 0.01 USDC on Base (10000 atomic USDC) - MCP tool: kyb_check_eu - Docs: https://agent-hub.dentreprise.workers.dev/tools/kyb-check-eu/ ## Parameters - `vat` (string, required): EU VAT number with country prefix - `name` (string): Company name if VIES does not publish it ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/kyb-check-eu?vat=FR27552032534" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/kyb-check-eu", "description": "One-call KYB for any EU company by VAT number: VIES validity with registered name/address, sanctions screening (US CSL/OFAC, EU, FR, UK) of the name, GLEIF LEI candidates, plus national register data for France (Sirene + BODACC proceedings) and Finland (PRH), with a pass/review/fail verdict.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "10000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "vat": "FR27552032534", "verdict": "pass", "flags": [], "vies": { "valid": true, "name": "SA DANONE" }, "sanctions": { "match": false } } ``` # kyb-check-fr > One-call KYB for a French company (SIREN/SIRET): Sirene identity and status, BODACC collective proceedings, VIES intra-EU VAT validity (derived FR number) and sanctions screening (OFAC, EU, FR, UK) of the legal name, with a pass/review/fail verdict and flags. - URL: https://forge-tools.dentreprise.workers.dev/api/kyb-check-fr (GET or POST) - Price: 0.01 USDC on Base (10000 atomic USDC) - MCP tool: kyb_check_fr - Docs: https://agent-hub.dentreprise.workers.dev/tools/kyb-check-fr/ ## Parameters - `siren` (string, required): SIREN or SIRET ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/kyb-check-fr?siren=552032534" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/kyb-check-fr", "description": "One-call KYB for a French company (SIREN/SIRET): Sirene identity and status, BODACC collective proceedings, VIES intra-EU VAT validity (derived FR number) and sanctions screening (OFAC, EU, FR, UK) of the legal name, with a pass/review/fail verdict and flags.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "10000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "siren": "552032534", "verdict": "pass", "flags": [], "vat": { "valid": true }, "sanctions": { "match": false } } ``` # supplier-due-diligence > Supplier due diligence for any company name (optionally VAT number and country): VIES VAT check, UK Companies House profile when country=GB, GLEIF LEI candidates with entity and registration status, and sanctions screening (OFAC, EU, FR, UK), with a pass/review/fail verdict and flags. - URL: https://forge-tools.dentreprise.workers.dev/api/supplier-due-diligence (GET or POST) - Price: 0.01 USDC on Base (10000 atomic USDC) - MCP tool: supplier_due_diligence - Docs: https://agent-hub.dentreprise.workers.dev/tools/supplier-due-diligence/ ## Parameters - `name` (string, required): Company name - `country` (string): ISO alpha-2 - `vat` (string): EU VAT number (optional) ## Unpaid example ```bash curl -sS -D - "https://forge-tools.dentreprise.workers.dev/api/supplier-due-diligence?name=Nokia+Oyj&country=FI&vat=FI01120389" ``` ## Example 402 challenge ```json { "x402Version": 2, "error": "Payment required", "resource": { "url": "https://forge-tools.dentreprise.workers.dev/api/supplier-due-diligence", "description": "Supplier due diligence for any company name (optionally VAT number and country): VIES VAT check, UK Companies House profile when country=GB, GLEIF LEI candidates with entity and registration status, and sanctions screening (OFAC, EU, FR, UK), with a pass/review/fail verdict and flags.", "mimeType": "application/json" }, "accepts": [ { "scheme": "exact", "network": "eip155:8453", "amount": "10000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x7B8bf45ac6AcbA6D4CFB626b57D3f5fF3C9C89F7", "maxTimeoutSeconds": 120, "extra": { "name": "USD Coin", "version": "2" } } ] } ``` ## Example response ```json { "verdict": "pass", "flags": [], "vat": { "valid": true }, "lei": { "candidates": [ { "lei": "…", "status": "ACTIVE" } ] }, "sanctions": { "match": false } } ``` # Swiss UID / VAT validator > Bulk Swiss UID/VAT (MWST/TVA/IVA) validation and company lookup against the official federal UID register. Detects VAT groups, checks the check digit offline, and redacts sole-proprietor names by default. - Store: https://apify.com/characteristic_division/swiss-uid-vat-validator - Pricing: pay-per-event (registry-record 0.003 USDC, format-check 0.001 USDC, apify-actor-start 0.001 USDC) - Source: Swiss Federal Statistical Office UID-Register (uid-wse), official, no auth, about 20 lookups/min. - Docs: https://agent-hub.dentreprise.workers.dev/actors/swiss-uid-vat-validator/ # DVF price per m² (batch) > For a list of French addresses or coordinates, returns median, P25 and P75 €/m² from official DVF sales (apartments and houses separately), with an optional value range for a given surface. Alsace-Moselle and Mayotte are flagged and not charged. - Store: https://apify.com/characteristic_division/dvf-price-per-m2-batch - Pricing: pay-per-event (address-report 0.01 USDC, apify-actor-start 0.001 USDC) - Source: geo-dvf CSVs on files.data.gouv.fr (Etalab, Licence Ouverte 2.0) and the Base Adresse Nationale geocoder. - Docs: https://agent-hub.dentreprise.workers.dev/actors/dvf-price-per-m2-batch/ # BODACC SIREN health check > Batch check of SIREN/SIRET/FR-VAT numbers against official BODACC notices: insolvency stage and history, strike-off, late accounts, business sales, and an explained risk level. Sole traders are masked by default. - Store: https://apify.com/characteristic_division/bodacc-siren-health-check - Pricing: pay-per-event (siren-report 0.003 USDC, empty-check 0.001 USDC, apify-actor-start 0.001 USDC) - Source: BODACC open-data API (DILA, Opendatasoft, Licence Ouverte 2.0), no key required. - Docs: https://agent-hub.dentreprise.workers.dev/actors/bodacc-siren-health-check/ # Google Sheets sync (service account) > Import, export, append and upsert Google Sheets rows with a service account (no OAuth expiry). The buyer provides their own key. Cell values default to RAW to reduce formula injection risk. - Store: https://apify.com/characteristic_division/sheets-sync-service-account - Pricing: pay-per-event (rows-1000 0.002 USDC, apify-actor-start 0.005 USDC) - Source: Google Sheets API v4, authenticated with the buyer's service account. - Docs: https://agent-hub.dentreprise.workers.dev/actors/sheets-sync-service-account/ # Loyalty (planned) Not a live programme. GET /loyalty/{address} reads this hub's KV. The x402 gateway is on another account and does not feed the ledger.