Construct an IBAN from a country code and the domestic account parts, computing
Construct an IBAN from a country code and the domestic account parts, computing the ISO 7064 mod-97-10 check digits. Takes either a single BBAN string or named parts (bank code, branch code, account number); digit fields are left-padded with zeros to the country's registered widths. Returns the IBAN in electronic and print formats with its bank, branch and account parts. Covers the 89 SWIFT registry countries. Named parts work only where they span the whole BBAN; otherwise pass the BBAN.
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://api.duoleads.com/v1/id/iban-build
| Category | Code and developer |
|---|---|
| Provider host | api.duoleads.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 0 from 0 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-29 | valid payment request | 402 | $0.05 | 15 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"account": "0417164300",
"bank": "ABNA",
"country": "NL"
},
"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": {
"properties": {
"account": {
"description": "Account number. Requires bank.",
"maxLength": 32,
"type": "string"
},
"bank": {
"description": "Bank code. Requires account.",
"maxLength": 16,
"type": "string"
},
"bban": {
"description": "The whole domestic account number (BBAN), alphanumeric. Use this or bank plus account.",
"maxLength": 34,
"type": "string"
},
"branch": {
"description": "Branch code, for countries whose layout has a branch field.",
"maxLength": 16,
"type": "string"
},
"country": {
"description": "ISO 3166-1 alpha-2 country code in the SWIFT IBAN registry, case-insensitive.",
"maxLength": 16,
"type": "string"
}
},
"required": [
"country"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"data": {
"type": "object"
},
"meta": {
"properties": {
"computed_at": {
"type": "string"
},
"deterministic": {
"type": "boolean"
},
"disclaimer": {
"type": "string"
},
"price_usd": {
"type": "string"
},
"request_id": {
"type": "string"
},
"sources": {
"type": "array"
}
},
"required": [
"request_id",
"computed_at",
"price_usd",
"deterministic",
"disclaimer"
],
"type": "object"
},
"ok": {
"const": true,
"type": "boolean"
},
"route": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"ok",
"route",
"version",
"data",
"meta"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}