{"uid":"cap_54-oKtLJZiOebYGG7Shmg","slug":"402utils-iban-validator-ad8ea07a","name":"402utils IBAN Validator","description":"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.","url":"https://402utils.com/v1/iban-check","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["iban"],"properties":{"iban":{"type":"string","description":"The IBAN to validate, e.g. FR7630006000011234567890189."},"attest":{"type":"string","description":"Set to 1 for an Ed25519-signed attestation of the result (audit trail)."}},"description":"Query param `iban` (spaces tolerated, case-insensitive)."}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["valid","country","checkDigitsValid","formatValid","bban","length"],"properties":{"bban":{"type":"string","description":"Basic Bank Account Number (the IBAN minus country + check digits)."},"valid":{"type":"boolean","description":"formatValid AND checkDigitsValid."},"length":{"type":"integer"},"country":{"type":"string","description":"ISO country code from the first two characters."},"bankCode":{"type":"string","description":"Present for FR/DE/ES/IT/BE/NL."},"branchCode":{"type":"string"},"attestation":{"type":"object","properties":{"alg":{"type":"string","const":"Ed25519"},"sig":{"type":"string","description":"base64url Ed25519 signature over the canonical JSON of payload."},"payload":{"type":"object","properties":{"ts":{"type":"string","format":"date-time"},"kid":{"type":"string","description":"Key id — matches a key in the .well-known document."},"endpoint":{"type":"string"},"resultSha256":{"type":"string","description":"SHA-256 of the canonical JSON of the result (attestation excluded)."}}}},"description":"Present only with ?attest=1. Ed25519 signature over the canonical result; verify against /.well-known/402utils-attestation.json."},"formatValid":{"type":"boolean","description":"Known country code and correct total length."},"accountNumber":{"type":"string"},"checkDigitsValid":{"type":"boolean","description":"ISO 7064 mod-97 result."}},"additionalProperties":false}}}}},"responseSchema":{"type":"json","example":{"bban":"30006000011234567890189","valid":true,"length":27,"country":"FR","bankCode":"30006","branchCode":"00001","formatValid":true,"accountNumber":"12345678901","checkDigitsValid":true}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_tEzESoZnmDic1JxZp8kf_","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates an IBAN's structure and check digits (ISO 7064 mod-97) against per-country length/BBAN rules for ~90 countries, returning a bank/branch/account breakdown for FR, DE, ES, IT, BE, and NL.","exampleAgentPrompt":"Can you check whether this IBAN is valid and give me the bank and branch codes from it: FR7630006000011234567890189? I'd also like a signed attestation for our audit trail.","exampleUseCases":[{"title":"Pre-payment IBAN verification before wire transfer","prompt":"Before I send this wire transfer, can you quickly validate this IBAN for me: DE89370400440532013000? I need to make sure it's structurally correct and get me the bank and branch codes so I can double-check with our compliance team."},{"title":"Extract bank details from customer IBAN","prompt":"A customer just gave us their Italian IBAN for the direct deposit setup. Can you break down IT60X0542811101000000123456 and tell me which bank and branch it belongs to? I want to verify it matches what they told us before we process the payment."},{"title":"Cryptographically signed audit trail for financial records","prompt":"I need to validate this Spanish IBAN and get a signed attestation that proves we checked it at this exact moment: ES9121000418450200051332. Can you give me the attestation with a timestamp so we have an immutable record for our financial audit?"}],"resultDescription":"Returns a JSON object with: valid (boolean combining format + check digit checks), formatValid (country known and correct length/BBAN pattern), checkDigitsValid (ISO 7064 mod-97 result), country (ISO code), bban, length, and — for FR/DE/ES/IT/BE/NL — bankCode, branchCode, and accountNumber. With ?attest=1, includes an Ed25519 attestation object containing a signature, key ID, timestamp, and SHA-256 hash of the result for tamper-evident audit logs.","failureModes":["Missing iban query parameter — returns error indicating required field","IBAN from unsupported country — formatValid may be false or BBAN breakdown unavailable","Malformed IBAN with wrong check digits — returns valid:false with checkDigitsValid:false","IBAN with wrong length for its country — returns formatValid:false","Network/service unavailability — HTTP 5xx response","Invalid attest parameter value — attestation object may not be returned"],"whenToPreferThis":"Use this endpoint when you need fast, local, offline-quality structural IBAN validation before initiating a payment or storing banking data — especially when you need a bank/branch code breakdown for major European countries (FR, DE, ES, IT, BE, NL) or require a cryptographically signed audit-trail attestation. It does not do live BIC lookup or confirm account existence, so pair with a live bank verification service when that is required.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:46:35.426Z","isFirstParty":false}