{"openapi":"3.1.0","info":{"title":"Bank and Tax ID Validators","version":"1.0.0","description":"Validate IBAN, BIC, card number, US routing, EU VAT and US EIN formats and check digits. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Bank and Tax ID Validators: Validate IBAN, BIC, card number, US routing, EU VAT and US EIN formats and check digits. Use /iban-validate and /iban-parse for IBANs, /bic-parse for SWIFT BICs, /card-check for payment card number format (test numbers only), /aba-routing-check for US routing numbers, /eu-vat-format for offline EU VAT format and checksum, /eu-vat-vies for a live EU VIES registration check, and /ein-format for US EIN prefix format. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://bank-validators.x402tookit.com"}],"paths":{"/aba-routing-check":{"get":{"operationId":"aba_routing_check","summary":"Check a US ABA routing number: 3-7-1 weighted checksum and the Federal Reserve district from the prefix.","description":"Check a US ABA routing number: 3-7-1 weighted checksum and the Federal Reserve district from the prefix.","tags":["aba","routing-number","banking","us"],"parameters":[{"name":"routing","in":"query","required":true,"description":"9-digit US ABA routing number, e.g. 021000021","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"weightedSum":{"type":["null","number"]},"prefix":{"type":["null","string"]},"prefixKind":{"type":["null","string"]},"fedDistrict":{"type":["null","number"]},"fedDistrictCity":{"type":["null","string"]},"normalized":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID","summary":"021000021 passes the ABA checksum; prefix 02 is the New York Fed district, Federal Reserve bank (paper processing prefix).","reasons":["A pass means well formed, not assigned to a bank."],"weightedSum":30,"prefix":"02","prefixKind":"Federal Reserve bank (paper processing prefix)","fedDistrict":2,"fedDistrictCity":"New York","normalized":"021000021","degraded":false,"notChecked":["whether the number is assigned to a bank (no Federal Reserve directory lookup)","which institution owns it","…1 more"],"source":"computed locally","asOf":"2026-10-21T00:36:48.077Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/aba-routing-check"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/aba-routing-check"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/aba-routing-check"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/aba-routing-check"}}]}}},"/bic-parse":{"get":{"operationId":"bic_parse","summary":"Parse a SWIFT BIC (ISO 9362): bank code, ISO 3166 country, location, branch; checks format and country.","description":"Parse a SWIFT BIC (ISO 9362): bank code, ISO 3166 country, location, branch; checks format and country.","tags":["bic","swift","banking"],"parameters":[{"name":"bic","in":"query","required":true,"description":"BIC/SWIFT code, 8 or 11 characters, e.g. DEUTDEFF","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"normalized":{"type":["null","string"]},"bank":{"type":["null","string"]},"country":{"type":["null","string"]},"location":{"type":["null","string"]},"branch":{"type":["null","string"]},"length":{"type":["null","number"]},"bic8":{"type":["null","string"]},"bic11":{"type":["null","string"]},"isHeadOffice":{"type":["boolean","null"]},"isTestBic":{"type":["boolean","null"]},"locationNote":{},"countryIsUserAssigned":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_FORMAT","summary":"DEUTDEFF500: bank DEUT, country DE, location FF, branch 500.","reasons":["Format and country code only: this does not prove the BIC is assigned."],"normalized":"DEUTDEFF500","bank":"DEUT","country":"DE","location":"FF","branch":"500","length":11,"bic8":"DEUTDEFF","bic11":"DEUTDEFF500","isHeadOffice":false,"isTestBic":false,"locationNote":null,"countryIsUserAssigned":false,"degraded":false,"notChecked":["whether the BIC is registered with SWIFT (no directory lookup)","the institution's name"],"source":"computed locally","asOf":"2026-10-21T00:36:48.333Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/bic-parse"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/bic-parse"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/bic-parse"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/bic-parse"}}]}}},"/card-check":{"get":{"operationId":"card_check","summary":"Luhn check plus card brand and length from IIN ranges (Visa, Mastercard, Amex...). Test numbers only; output is masked.","description":"Luhn check plus card brand and length from IIN ranges (Visa, Mastercard, Amex...). Test numbers only; output is masked.","tags":["card","luhn","payments","validation"],"parameters":[{"name":"number","in":"query","required":true,"description":"Card number, TEST numbers only (e.g. 4242 4242 4242 4242); never a real card","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"masked":{"type":["null","string"]},"digits":{"type":["null","number"]},"luhnValid":{"type":["boolean","null"]},"brand":{"type":["null","string"]},"typicalLengths":{"type":["array","null"],"items":{"type":"number"}},"lengthMatchesBrand":{"type":["boolean","null"]},"isPublishedTestNumber":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_FORMAT","summary":"424242******4242 passes Luhn and looks like a Visa number.","reasons":[],"masked":"424242******4242","digits":16,"luhnValid":true,"brand":"Visa","typicalLengths":[13,16],"lengthMatchesBrand":true,"isPublishedTestNumber":true,"degraded":false,"notChecked":["whether the card exists, is active, funded, or belongs to anyone","expiry, CVV or address","…1 more"],"source":"computed locally","asOf":"2026-10-21T00:36:48.596Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/card-check"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/card-check"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/card-check"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/card-check"}}]}}},"/ein-format":{"get":{"operationId":"ein_format","summary":"Check a US EIN's format and whether its 2-digit prefix is one the IRS assigns. Format only, not existence.","description":"Check a US EIN's format and whether its 2-digit prefix is one the IRS assigns. Format only, not existence.","tags":["ein","tax-id","us","validation"],"parameters":[{"name":"ein","in":"query","required":true,"description":"US employer identification number, NN-NNNNNNN, e.g. 12-3456789","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"formatted":{"type":["null","string"]},"prefix":{"type":["null","string"]},"issuingCampuses":{"type":["array","null"],"items":{"type":"string"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_FORMAT","summary":"12-3456789 has a valid format and an IRS-assigned prefix (12). This does not confirm the EIN exists.","reasons":["EINs have no check digit, so only the prefix and layout can be checked.","The prefix reflects the IRS campus that issued it, not where the entity is."],"formatted":"12-3456789","prefix":"12","issuingCampuses":["Andover"],"degraded":false,"notChecked":["whether the EIN was ever issued or belongs to a real entity (the IRS publishes no lookup)","that the prefix list is current (the IRS can add prefixes)","…1 more"],"source":"computed locally","asOf":"2026-10-21T00:36:48.859Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/ein-format"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/ein-format"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/ein-format"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/ein-format"}}]}}},"/eu-vat-format":{"get":{"operationId":"eu_vat_format","summary":"Offline EU VAT number check: per-country format for 27 states plus the national checksum where known. No lookup.","description":"Offline EU VAT number check: per-country format for 27 states plus the national checksum where known. No lookup.","tags":["vat","eu","tax-id","validation"],"parameters":[{"name":"vat","in":"query","required":true,"description":"EU VAT number with country prefix, e.g. NL820646660B01 (Greece is EL)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"country":{"type":["null","string"]},"number":{"type":["null","string"]},"format":{"type":["null","string"]},"checksumVerified":{"type":["boolean","null"]},"checksumImplementedFor":{"type":["array","null"],"items":{"type":"string"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_FORMAT","summary":"NL820646660B01: The NL format and national check digit/key are consistent.","reasons":["The NL format and national check digit/key are consistent."],"country":"NL","number":"820646660B01","format":"9 digits + B + 2 digits","checksumVerified":true,"checksumImplementedFor":["AT","BE","…19 more"],"degraded":false,"notChecked":["whether the number is registered or active (use /eu-vat-vies for the live registry)","Northern Ireland (XI) and non-EU countries","…1 more"],"source":"computed locally","asOf":"2026-10-21T00:36:49.122Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/eu-vat-format"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/eu-vat-format"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/eu-vat-format"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/eu-vat-format"}}]}}},"/eu-vat-vies":{"get":{"operationId":"eu_vat_vies","summary":"Live EU VIES check: is this VAT number registered, and under what name. Member state outages give UNVERIFIED.","description":"Live EU VIES check: is this VAT number registered, and under what name. Member state outages give UNVERIFIED.","tags":["vat","eu","vies","tax-id"],"parameters":[{"name":"vat","in":"query","required":true,"description":"EU VAT number with country prefix, e.g. IE6388047V (Greece is EL)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"country":{"type":["null","string"]},"number":{"type":["null","string"]},"valid":{"type":["boolean","null"]},"name":{"type":["null","string"]},"address":{"type":["null","string"]},"requestDate":{"type":["null","string"]},"localFormat":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"REGISTERED","summary":"IE6388047V is registered in VIES to GOOGLE IRELAND LIMITED.","reasons":["VIES confirms an active VAT registration for intra-EU trade at the time of the query."],"country":"IE","number":"6388047V","valid":true,"name":"GOOGLE IRELAND LIMITED","address":"3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4","requestDate":"2026-10-21T00:36:50.121Z","localFormat":"VALID_FORMAT","degraded":false,"notChecked":["whether the business is trading, solvent or legitimate","name and address are as the member state returns them; some states return none","…1 more"],"source":"EU VIES (European Commission)","sourceUrl":"https://ec.europa.eu/taxation_customs/vies/","asOf":"2026-10-21T00:36:49.944Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0300"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/eu-vat-vies"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/eu-vat-vies"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/eu-vat-vies"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/eu-vat-vies"}}]}}},"/iban-parse":{"get":{"operationId":"iban_parse","summary":"Split an IBAN into country, check digits, bank code, branch and account using its country layout.","description":"Split an IBAN into country, check digits, bank code, branch and account using its country layout.","tags":["iban","banking","parsing"],"parameters":[{"name":"iban","in":"query","required":true,"description":"IBAN, spaces allowed, e.g. DE89 3704 0044 0532 0130 00","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"country":{"type":["null","string"]},"checkDigits":{"type":["null","string"]},"bban":{"type":["null","string"]},"bankCode":{"type":["null","string"]},"branchCode":{},"account":{"type":["null","string"]},"nationalCheck":{},"fields":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":["null","string"]},"value":{"type":["null","string"]},"pattern":{"type":["null","string"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID","summary":"DE89 3704 0044 0532 0130 00: country DE, check digits 89, bank code 37040044, account 0532013000.","reasons":["Parsed only after the length, layout and mod-97 checks passed."],"country":"DE","checkDigits":"89","bban":"370400440532013000","bankCode":"37040044","branchCode":null,"account":"0532013000","nationalCheck":null,"fields":[{"name":"bank","value":"37040044","pattern":"8n"},{"name":"account","value":"0532013000","pattern":"10n"}],"degraded":false,"notChecked":["whether the bank code names a real bank (no bank directory is used)","whether the account exists","…1 more"],"source":"computed locally","asOf":"2026-10-21T00:36:50.209Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/iban-parse"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/iban-parse"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/iban-parse"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/iban-parse"}}]}}},"/iban-validate":{"get":{"operationId":"iban_validate","summary":"Validate an IBAN: ISO 13616 mod-97 checksum plus per-country length and layout for 88 registry countries.","description":"Validate an IBAN: ISO 13616 mod-97 checksum plus per-country length and layout for 88 registry countries.","tags":["iban","banking","validation"],"parameters":[{"name":"iban","in":"query","required":true,"description":"IBAN, spaces allowed, e.g. GB82 WEST 1234 5698 7654 32","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"country":{"type":["null","string"]},"normalized":{"type":["null","string"]},"grouped":{"type":["null","string"]},"expectedLength":{"type":["null","number"]},"actualLength":{"type":["null","number"]},"countriesSupported":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID","summary":"GB82 WEST 1234 5698 7654 32 is a well-formed GB IBAN: length, layout and mod-97 check all pass.","reasons":["A pass means well formed, not that the account exists."],"country":"GB","normalized":"GB82WEST12345698765432","grouped":"GB82 WEST 1234 5698 7654 32","expectedLength":22,"actualLength":22,"countriesSupported":88,"degraded":false,"notChecked":["whether the account exists, is open, or belongs to anyone","the national check digits inside the account part (only layout and the mod-97 check are computed)","…1 more"],"source":"computed locally","asOf":"2026-10-21T00:36:50.474Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/iban-validate"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/iban-validate"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/iban-validate"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://bank-validators.x402tookit.com/iban-validate"}}]}}}}}