EDGE ENGINE Sub-2ms Deterministic V8 Execution • Zero Data Retention Explore API Specs →
Latency: <1ms Edge Availability: 99.99% Standard: ISO 13616 / ST V8 Pure Compute

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.

Official Regulatory Standard & Verification Protocol Authority: SWIFT & ISO 13616 IBAN Registry ↗

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.

Execution SLA
<1ms Edge (Cloudflare V8)
Governing Norm
ISO 13616 / ST
Throughput Limit
512 KB / Payload
Data Privacy
100% In-Memory (Zero Store)

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).

AttributeValueDescription
Country CodeSTISO 3166-1 alpha-2
Total IBAN Length25 charactersFixed standard length
BBAN Format21nNational structure (n=numeric, a=alpha, c=alphanumeric)
SEPA ZoneNoSEPA compliance status
Bank Code PositionBBAN Offset 0 (4 chars)National clearing code
Branch Code PositionBBAN Offset 4 (4 chars)Branch identification
Interactive Edge Validator

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.

Launch Workbench →

Parsed JSON Response Model

The edge microservice transforms input payloads into strongly-typed hierarchical JSON with zero cold starts:

HTTP 200 JSON Payload
{
  "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
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"
}'
Node.js (Fetch)
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);
Python (Requests)
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())
Go
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

How many characters is an IBAN in Sao Tome and Principe?

An official IBAN in Sao Tome and Principe (ST) is exactly 25 characters in length. Any shorter or longer value fails ISO 13616 validation.

Is Sao Tome and Principe part of the SEPA payment network?

Sao Tome and Principe is not a SEPA participant and relies on SWIFT/BIC wire routing.

How is the MOD-97 check digit calculated for ST IBANs?

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: