Sao Tome and Principe (ST) IBAN & Bank Routing Validator
Instant sub-1ms ISO 13616 MOD-97 checksum validation, BBAN decomposition, and bank routing extraction for Sao Tome and Principe (ST) bank accounts.
Quick Technical Summary: Instant sub-1ms ISO 13616 MOD-97 checksum validation, BBAN decomposition, and bank routing extraction for Sao Tome and Principe (ST) bank accounts. Implementation conforms to ISO 13616 / ISO 7064 MOD-97-10.
Specification & Structural Breakdown
In Sao Tome and Principe, the International Bank Account Number (IBAN) has a fixed length of 25 alphanumeric characters starting with the two-letter ISO 3166-1 alpha-2 country code 'ST', followed by two MOD-97 check digits.
The National Basic Bank Account Number (BBAN) follows the official pattern: 21n. The national bank code is located at BBAN character offset [0:4]. The branch identifier is at offset [4:8].
Validation computes the ISO 7064 Modulo-97-10 checksum by transposing the first 4 characters to the end, converting letters to numeric digits (A=10, ..., Z=35), and calculating arithmetic integer modulo 97 (must equal 1).
| Attribute | Value | Description |
|---|---|---|
| Country Code | ST | ISO 3166-1 alpha-2 |
| Total IBAN Length | 25 characters | Fixed standard length |
| BBAN Format | 21n | National structure (n=numeric, a=alpha, c=alphanumeric) |
| SEPA Zone | No | SEPA compliance status |
| Bank Code Position | BBAN Offset 0 (4 chars) | National clearing code |
| Branch Code Position | BBAN Offset 4 (4 chars) | Branch identification |
Test Sao Tome and Principe (ST) IBAN & Bank Routing Validator Live
Paste raw inputs up to 32KB and inspect deterministic parsed JSON in real-time across 330+ Cloudflare edge locations. Pure compute, zero cold-starts.
Parsed JSON Response Model
The edge microservice transforms input payloads into strongly-typed hierarchical JSON with zero cold starts:
{
"valid": true,
"iban": "ST00...",
"countryCode": "ST",
"countryName": "Sao Tome and Principe",
"length": 25,
"bban": "21n",
"sepa": false,
"checksumValid": true,
"bankCode": "XXXX"
}
Copy-Paste Integration Code
Integrate this validator directly into your application using your production API key:
curl --request POST \
--url "https://global-iban-bic-swift-bank-routing-validator-api.stanzaapi.com/api/v1/iban/validate" \
--header "Content-Type: application/json" \
--header "x-api-key: YOUR_API_KEY" \
--data '{
"iban": "DE89370400440532013000"
}'
const response = await fetch("https://global-iban-bic-swift-bank-routing-validator-api.stanzaapi.com/api/v1/iban/validate", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.API_KEY || "YOUR_API_KEY"
},
body: JSON.stringify({
"iban": "DE89370400440532013000"
})
});
const data = await response.json();
console.log(data);
import requests
import json
url = "https://global-iban-bic-swift-bank-routing-validator-api.stanzaapi.com/api/v1/iban/validate"
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
}
payload = {
"iban": "DE89370400440532013000"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
url := "https://global-iban-bic-swift-bank-routing-validator-api.stanzaapi.com/api/v1/iban/validate"
payload := []byte(`{"iban":"DE89370400440532013000"}`)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Add("Content-Type", "application/json")
req.Header.Add("x-api-key", os.Getenv("API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Frequently Asked Questions & Technical Notes
An official IBAN in Sao Tome and Principe (ST) is exactly 25 characters in length. Any shorter or longer value fails ISO 13616 validation.
Sao Tome and Principe is not a SEPA participant and relies on SWIFT/BIC wire routing.
The first 4 characters are moved to the end, letters are converted to numbers (A=10 to Z=35), and the resulting number is evaluated with modulo 97 arithmetic. A valid IBAN yields a remainder of exactly 1.
Related Global IBAN, BIC/SWIFT & Bank Routing Validator API Formats
Explore sibling specifications and standards in the same developer cluster:
Andorra (AD) IBAN & Bank Routing Validator
Instant sub-1ms ISO 13616 MOD-97 checksum validation, BBAN decomposition, and bank routing extraction for Andorra (AD) bank accounts.
View Format →UAE IBAN Number Validator & Checker (AE) [Central Bank MOD-97 API]
Instant Central Bank of the UAE MOD-97 checksum validation and bank code extraction for 23-character United Arab Emirates IBAN accounts.
View Format →Albania (AL) IBAN & Bank Routing Validator
Instant sub-1ms ISO 13616 MOD-97 checksum validation, BBAN decomposition, and bank routing extraction for Albania (AL) bank accounts.
View Format →Austria (AT) IBAN & Bank Routing Validator
Instant sub-1ms ISO 13616 MOD-97 checksum validation, BBAN decomposition, and bank routing extraction for Austria (AT) bank accounts.
View Format →