Odel
eu verify

eu verify

@contentfactory1MITUpdated 1mo ago

European business verification for AI agents: registry, VAT, sanctions, IBAN. Pay-per-call x402.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

eu-verify — European business verification for AI agents

Listed on Smithery · MCP Registry · data.greeneris.io

Your agent can verify any European business partner — and pay for it by itself.

One call, full due diligence: verify_supplier_fr checks a French company's existence, insolvency, VAT and sanctions in a single request and returns a risk verdict. Or use the building blocks: company registry, insolvency (BODACC), EU VAT (VIES), SIRET / IBAN / LEI / EORI checks, sanctions screening (EU/OFAC/UN/UK/FR), address and email verification, French business-day deadlines, EU public tenders.

No account. No API key. Each call costs $0.001–$0.05 in USDC on Base, paid automatically through the x402 protocol — the payment is the authentication.


Why your agent needs this

Every intra-EU B2B invoice legally requires a valid VAT number. Every serious supplier onboarding requires a company existence check. These are actions that procurement, compliance and due-diligence agents repeat thousands of times — and the official European data behind them was never packaged for agents. Now it is.

MCP toolWhat it answersSourcePrice
verify_supplier_frOne-call risk verdict: existence + insolvency + VAT + sanctionsSIRENE + BODACC + VIES + sanctions$0.05
screen_sanctionsIs this name on a sanctions list? (EU, OFAC, UN, UK, FR)5 official lists, refreshed daily$0.01
lookup_company_frDoes this French company exist? Status, NAF, HQ, financesINSEE Sirene (official)$0.005
lookup_company_ukUK company profile + officers + PSC (quasi-UBO) + risk flagsCompanies House (official)$0.01
check_insolvency_frAny insolvency / liquidation proceedings?BODACC (official gazette)$0.01
invoice_ready_frIs this SIREN invoiceable? (checksum + existence + VAT)SIRENE + VIES$0.02
validate_vat_euIs this EU VAT number valid? (pre-invoicing check)VIES (European Commission)$0.005
validate_siret_frIs this SIREN/SIRET well-formed? (offline checksum)ISO/Luhn$0.001
validate_ibanIs this IBAN valid? (85 countries, offline)ISO 13616 mod-97$0.001
check_eoriIs this EU customs (EORI) operator registered?EU EOS/DDS2 (official)$0.003
lookup_lei / lei_ownershipResolve a Legal Entity Identifier + ownership chainGLEIF (official)$0.005
verify_address_frDoes this French address exist? GeocodedBase Adresse Nationale$0.001
validate_emailWill email to this address be deliverable? Live MX checkDNS-over-HTTPS$0.005
business_days_frDeadline N business days from date X in Francecomputed (incl. holidays)$0.005
find_public_tenders_euRecent EU public tenders by sector/countryTED (Official Journal EU)$0.01
catalogEverything this shop sellsfree

Plus 6 more national company registries at $0.003 (/v1/{no,cz,pl,fi,sk,ie}/company — Norway, Czechia, Poland, Finland, Slovakia, Ireland) and 70+ supporting data endpoints (FX, macro, energy, weather, crypto) at commodity prices — see /llms.txt.

Buyers are never charged for empty or failed answers (an upstream failure returns an error before settlement). No personal data is served (GDPR: director names are stripped from registry answers).


Use it from an agent (MCP)

Claude Code:

claude mcp add --transport http eu-verify https://data.greeneris.io/mcp

Cursor / any MCP client (mcpServers config):

{
  "mcpServers": {
    "eu-verify": { "url": "https://data.greeneris.io/mcp" }
  }
}

Then just ask: "Run a supplier risk check on SIREN 552032534" — the agent calls verify_supplier_fr and gets back existence, insolvency, VAT and sanctions in one verdict. Or: "Screen 'ACME Trading' against sanctions lists before we onboard them."

Payments over MCP: a paid tool called without payment returns the x402 quote in the response _meta; x402-aware MCP clients (e.g. the x402 Python SDK's MCP client, AWS Bedrock AgentCore) attach the USDC payment and retry automatically. Clients without wallet support can read the quote and fall back to the HTTP API.


Use it over plain HTTP (x402)

Every endpoint answers HTTP 402 with a machine-readable quote until paid:

curl -i "https://data.greeneris.io/v1/fr/company?q=airbus"
# HTTP/1.1 402 Payment Required
# payment-required: eyJ4NDAyVmVyc2lvbiI6Miw...   <- base64 quote (price, payTo, network)

Paying client in Python (~15 lines, examples/buy_with_python.py):

from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm.exact import register_exact_evm_client

buyer = Account.from_key(PRIVATE_KEY)          # a wallet holding a little USDC on Base
client = x402Client()
register_exact_evm_client(client, buyer)

async with x402HttpxClient(client) as http:    # reads the 402, pays, retries
    r = await http.get("https://data.greeneris.io/v1/eu/vat-check?cc=IE&vat=6388047V")
    print(await r.aread())

TypeScript and other languages: see the official x402 SDKs.


Trust

  • Official sources only: INSEE, European Commission (VIES, TED, EORI), DILA (BODACC), GLEIF, Base Adresse Nationale, and the EU/OFAC/UN/UK/FR sanctions lists — refreshed at source frequency.
  • Fail-safe billing: settlement happens only after a successful answer.
  • Uptime: monitored 24/7; live status at /agent-status.
  • Payments: settled on-chain by the Coinbase x402 facilitator; every sale is publicly auditable on x402scan.

License

The examples in this repository are MIT-licensed. The API itself is a paid service — each response includes its source attribution.