ToolAssay

Validate an IBAN structurally before you pay or store it

Validate an IBAN structurally before you pay or store it: ISO 7064 mod-97 check digits plus the official per-country length and BBAN layout (~90 countries), returning the bank/branch/account breakdown for FR, DE, ES, IT, BE and NL. Structural validation only — no BIC directory lookup (SWIFT's BIC registry is proprietary) and no proof the account exists. Local, instant. ?attest=1 → Ed25519-signed.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
1235 msmedian answer time
$0.001listed price per call
$0.001price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://staging.402utils.com/v1/iban-check

CategoryCompany and compliance
Provider hoststaging.402utils.com
Networkseip155:84532
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.001 1235 ms

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "iban": "FR76 3000 6000 0112 3456 7890 189"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "description": "Query param `iban` (spaces tolerated, case-insensitive).",
          "properties": {
            "attest": {
              "description": "Set to 1 for an Ed25519-signed attestation of the result (audit trail).",
              "type": "string"
            },
            "iban": {
              "description": "The IBAN to validate, e.g. FR7630006000011234567890189.",
              "type": "string"
            }
          },
          "required": [
            "iban"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "additionalProperties": false,
          "properties": {
            "accountNumber": {
              "type": "string"
            },
            "attestation": {
              "description": "Present only with ?attest=1. Ed25519 signature over the canonical result; verify against /.well-known/402utils-attestation.json.",
              "properties": {
                "alg": {
                  "const": "Ed25519",
                  "type": "string"
                },
                "payload": {
                  "properties": {
                    "endpoint": {
                      "type": "string"
                    },
                    "kid": {
                      "description": "Key id \u2014 matches a key in the .well-known document.",
                      "type": "string"
                    },
                    "resultSha256": {
                      "description": "SHA-256 of the canonical JSON of the result (attestation excluded).",
                      "type": "string"
                    },
                    "ts": {
                      "format": "date-time",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "sig": {
                  "description": "base64url Ed25519 signature over the canonical JSON of payload.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "bankCode": {
              "description": "Present for FR/DE/ES/IT/BE/NL.",
              "type": "string"
            },
            "bban": {
              "description": "Basic Bank Account Number (the IBAN minus country + check digits).",
              "type": "string"
            },
            "branchCode": {
              "type": "string"
            },
            "checkDigitsValid": {
              "description": "ISO 7064 mod-97 result.",
              "type": "boolean"
            },
            "country": {
              "description": "ISO country code from the first two characters.",
              "type": "string"
            },
            "formatValid": {
              "description": "Known country code and correct total length.",
              "type": "boolean"
            },
            "length": {
              "type": "integer"
            },
            "valid": {
              "description": "formatValid AND checkDigitsValid.",
              "type": "boolean"
            }
          },
          "required": [
            "valid",
            "country",
            "checkDigitsValid",
            "formatValid",
            "bban",
            "length"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON