# IBAN Validation Check

> IBAN Validation Check is a paid API for AI agents from supplier-payment-verifier-production.up.railway.app, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-16).

Validates an IBAN string using ISO 13616 mod-97 checksum, length, and country checks, returning PASSED or FAILED with a reason code.

## Facts

- Endpoint: POST https://supplier-payment-verifier-production.up.railway.app/v1/checks/iban?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/iban-validation-check-6eb88c4f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5pLjNZvz87QSseLUSAOLw

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability iban-validation-check-6eb88c4f -d '<json body>'
```

Example prompt: Before I pay this invoice, can you validate the IBAN IE29AIBK93115212345678 to make sure it passes the checksum and country check?

## When to prefer this

Use this endpoint when you need a lightweight, inexpensive ($0.005) IBAN format and checksum validation before executing a supplier payment, especially for Irish (IE) and other European IBANs. Prefer this over a full supplier verification workflow when you only need to confirm the bank account number itself is structurally valid, not the supplier's identity or VAT registration.

## Known failure modes

- IBAN fails mod-97 checksum — returns FAILED with reason code indicating checksum error
- IBAN length does not match the expected length for the declared country — returns FAILED with length mismatch reason
- Unsupported or unrecognised country code prefix — returns FAILED with country reason code
- IBAN too short or too long (violates minLength 5 or maxLength 40 constraint) — HTTP 422 validation error
- Malformed request body or missing iban field — HTTP 422 unprocessable entity
- Payment not completed (x402 protocol) — HTTP 402 payment required

## How this service works

Cheapest call. Validates an IBAN (ISO 13616 mod-97 checksum, length and country) before you pay it. Returns PASSED or FAILED with a reason code. Irish (IE) IBANs pass by default.

## Output

A JSON object containing the original IBAN, the check type ('IBAN'), a boolean valid flag, the detected country code, an outcome string ('PASSED' or 'FAILED'), an ISO 8601 timestamp of when the check was performed, and a reason_code (e.g. 'IBAN_VALID', or a specific failure reason such as invalid checksum or unsupported country).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "iban": {
   "type": "string",
   "title": "Iban",
   "maxLength": 40,
   "minLength": 5,
   "description": "IBAN to validate (spaces allowed)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "iban": "IE29AIBK93115212345678",
  "check": "IBAN",
  "valid": true,
  "country": "IE",
  "outcome": "PASSED",
  "checked_at": "2026-10-15T12:00:00Z",
  "reason_code": "IBAN_VALID"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/iban-validation-check-6eb88c4f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from supplier-payment-verifier-production.up.railway.app](https://www.zero.xyz/host/supplier-payment-verifier-production.up.railway.app/llms.txt)
