# Check an IBAN and identify its bank

A form check, but a useful one: beyond the key digits, it identifies the bank in the relevant country's official registries. A bank unknown to those registries, on an otherwise well-formed IBAN, is a signal no key check gives you.

## What the route returns

Catalogue description, exactly as agents read it:

**IBAN verification and bank validation for SEPA payments: a FORM check to verify a supplier before payment — ISO 13616 structure + mod-97 key, plus bank identification from FREE official sources (FR via ACPR/REGAFI incl. LEI and SIREN; BE NBB; AT OeNB incl. LEI; NL BIC list; DE Bundesbank file). French BICs via GLEIF/SWIFT BIC-to-LEI. NOT a payee verification for instant payments: neither the holder name nor the account's existence is checked (verification_titulaire: non_disponible).**

## Expected identifier

An IBAN, without spaces.

> ⚠️ A wrongly formatted identifier returns `400` and is **not billed** — but it costs you a round trip. It is the leading cause of failed calls on the foreign routes.

## Extract from a genuinely paid response

Dated snapshot from 2026-08-07, truncated to one item per array. It is not live data. The full extract is served **free of charge** from [the samples surface](https://api.sirenic.eu/exemples/), and the schema from the OpenAPI document.

```
{
 "iban_normalise": "FR1420041010050500013M02606",
 "valide": true,
 "controles": {
  "pays_connu": "ok",
  "longueur": "ok",
  "mod97": "ok"
 },
 "code_banque": "20041",
 "nature_du_controle": "forme_et_registres",
 "non_verifie": [
  "existence_du_compte",
  "nom_du_titulaire"
 ],
 "exemple_de_documentation": true,
 "banque": {
  "identifiee": true,
  "nom": "La Banque Postale",
  "bic": "PSSTFRPPXXX",
  "lei": "96950066U5XAAIRCPA78",
  "siren": "421100645"
 },
 "verification_titulaire": "non_disponible",
 "disclaimer": "Contrôle de FORME (structure ISO 13616 + clé mod 97-10) et registres publics uniquement — ceci n'est PAS une Verification of Payee au sens du règlement (UE) 2024/886 (le schéma VoP est réservé aux prestataires de services de paiement) : le nom du TITULAIRE du compte n'est jamais vérifié. L'existence du compte n'est pas contrôlée. / Format check (ISO 13616 structure + mod 97-10 check digits) and public registers only — NOT a Verification of Payee: the account holder's name is never checked and the account's existence is not tested."
}
```

## Price and billing

Price: **$0.005**. The authoritative amount is the one in the `402` quote returned by the route itself — not this text, which derives from the same grid but is still just a page.

An error response **cancels the payment**: a `400`, `404` or `503` is never billed. An upstream outage closes the route with a `503` rather than serving a degraded response.

## Calling the route

```
# 1. Le devis, sans rien payer : la route répond 402 avec son montant
curl -i https://api.sirenic.eu/v1/iban/verifier/{iban}

# 2. L'appel réglé — le client x402 paie le devis et rejoue la requête
npx x402-fetch https://api.sirenic.eu/v1/iban/verifier/{iban}

# 3. Ou en MCP, dans Claude Code / Cursor / un agent
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp
```

## What this route does not do

This is **not** a payee verification for instant payments: neither the holder's name nor the account's existence is checked, and the response says so (`verification_titulaire: non_disponible`). Against bank-details fraud it reduces the risk; it does not remove it.

## Neighbouring routes

- `/v1/facturation/dossier` — $0.03
- `/v1/facture/verifier` — $0.02

## How you pay

Every route is paid **per call**, in USDC or EURC on the Base network, over the x402 protocol: no account to create, no API key, no subscription. The first call returns a `402` quote your client settles, then replays the call. A failed call is never billed.

Would you rather have a euro invoice and prepaid credits? That is **in preparation**, and we will not announce a date until it is open. Write to [contact@sirenic.eu](mailto:contact@sirenic.eu?subject=Euro%20credit%20packs) and we will let you know when it opens.

Paid responses are **Ed25519-signed**: you can later prove what was served to you, and when. The whole catalogue is free to read in the [OpenAPI document](https://api.sirenic.eu/openapi.json) and in [llms.txt](https://api.sirenic.eu/llms.txt).

**One call, end to end**

```
# Client x402 (npm) — le devis 402 est réglé et l'appel rejoué automatiquement
npx x402-fetch https://api.sirenic.eu/v1/entreprise/552032534

# Ou en MCP, dans Claude Code / Cursor
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp
```

## Routes used and pricing

| Route | Price | What it returns |
| --- | --- | --- |
| `/v1/iban/verifier/{iban}` | $0.005 | IBAN verification and bank validation for SEPA payments: a FORM check to verify a supplier before payment — ISO 13616 structure + mod-97 key, plus bank identification from FREE official sources (FR via ACPR/REGAFI incl. LEI and SIREN; BE NBB; AT OeNB incl. LEI; NL BIC list; DE Bundesbank file). French BICs via GLEIF/SWIFT BIC-to-LEI. NOT a payee verification for instant payments: neither the holder name nor the account's existence is checked (verification_titulaire: non_disponible). |

> ⚠️ The IBAN check is not a payee verification: neither the account holder's name nor the account's existence is checked (verification_titulaire: non_disponible).

## Take it further

- [See a real response (free)](https://api.sirenic.eu/exemples/iban-verifier-iban.json)
- [Get the quote for /v1/iban/verifier/{iban}](https://api.sirenic.eu/v1/iban/verifier/{iban})
- [Get notified about euro packs](mailto:contact@sirenic.eu?subject=Euro%20credit%20packs)

## Read next

- [Verify a supplier before you pay them](https://api.sirenic.eu/en/use-cases/verify-supplier-before-payment-identity-vat-iban)

---

Volume figures on this page were measured in our database on 2026-08-19. They are dated snapshots, not live counters.

Full catalogue : https://api.sirenic.eu/