IBAN validation API for AI agents
Catch a bad IBAN before money moves: this endpoint validates any IBAN's structure against ISO 13616 - format, per-country length from the public SWIFT IBAN registry (~85 countries) and the ISO 7064 mod 97-10 checksum - and returns either a pass with country, check digits and BBAN, or a precise failure reason (bad format, unknown country, wrong length, failed checksum). It is a pure offline computation, deterministic and with no upstream dependency; it proves an IBAN is structurally genuine, not that the account exists.
At $0.001 per call in USDC it is the cheapest check in the shop, made for agents that handle payment data: no account, no API key. A 'valid: false' verdict on a well-formed input is a successful answer and is billed - that verdict is the product; only malformed requests (empty or oversized input) return 400 and are never billed.
Endpoint
GET /v1/validate/iban — $0.001 per call (USDC on Base, x402). Also available as the MCP tool validate_iban on https://data.greeneris.io/mcp.
Parameters
| Param | Description |
|---|---|
iban | IBAN to validate, 1-100 chars (required); spaces and dashes are tolerated |
Example
curl -i "https://data.greeneris.io/v1/validate/iban?iban=FR1420041010050500013M02606"
# HTTP/1.1 402 Payment Required + machine-readable quote
# (any x402 client pays the quote and retries automatically)Response after payment:
{"ok": true, "data": {"iban": "FR1420041010050500013M02606", "valid": true, "country": "FR", "check_digits": "14", "bban": "20041010050500013M02606", "source": "offline ISO 13616 / ISO 7064 mod 97-10 validation (SWIFT registry lengths)"}}What agents use it for
- Validate a beneficiary IBAN inside a payment flow before submitting a SEPA transfer
- Clean vendor master data: flag stored IBANs that fail length or checksum
- Guard invoice-processing pipelines against OCR typos in extracted IBANs
How payment works
Call the endpoint: you get HTTP 402 with a signed quote (price, receiving address, network). Your agent pays a few tenths of a cent in USDC on Base (gasless, EIP-3009) and retries - one round trip, no account, no API key. Settlement only happens after a successful answer. Full catalog: llms.txt.