IBAN-Test: inspect SEPA bank participation
Guide: https://www.iban-test.eu/guides/check-sepa-bank-participation
Version1.0 - 21 September2026. Requires Python3.10+, no extra packages.

Offline demonstration (no token or network):
  python3 sepa_check.py --response example-response.json
Live check (one API request):
  python3 sepa_check.py --iban "DE89 3704 0044 0532 0130 00"
Windows can use py -3 instead of python3.
The hidden token prompt is used unless IBAN_TEST_API_TOKEN is configured.
No redirects or automatic retries. Do not use example IBANs for payments.

The example-response.json file is an illustrative fixture about a fictional
bank, not current register data or a real API lookup.
Interpret sddCore, sddB2b, sct and sctInst independently.
confirmed means a current, unambiguous register match for that scheme.
unknown means participation could not be confirmed, not unsupported.
missing_response_data is a LOCAL helper reason for absent response fields.
Keep it distinct from the published API reason codes.
Authentication, quota and server errors stop the program (not unknown/invalid).

Exit0: valid IBAN; inspect scheme results independently.
Exit2: invalid IBAN; schemes remain empty.
Exit1: request/input/response error.
Participation does not confirm account ownership/existence/eligibility,
mandates, balance, payment success or live RT1/TIPS reachability.

Tests: python3 -m unittest -v
Five unit tests plus an offline CLI run passed. No authenticated live API test.
Protect saved response files and API tokens. Never commit real credentials.
