ibanforge
IBANforge is an API server for IBAN validation, BIC/SWIFT lookup, and financial compliance checks, with micropayment billing and AI agent integration.
Validate a single IBAN (
validate_iban): Check validity with full mod-97 checksum and BBAN structure parsing across 84 countries, returning BIC/SWIFT, bank name, SEPA membership, payment schemes (SCT/SDD/SCT_INST), issuer classification (bank, neobank, EMI, payment institution), and risk indicators. ($0.005/call)Batch validate IBANs (
batch_validate_iban): Validate up to 100 IBANs in a single call with the same detailed results at a reduced cost ($0.002/IBAN) — ideal for payment files, supplier lists, or KYC checks.Look up a BIC/SWIFT code (
lookup_bic): Retrieve full institution details (name, country, city, branch, LEI identifier and regulatory status) from a database of 39,000+ institutions via GLEIF.Run a compliance check (
compliance_check): Full AML/KYC assessment including sanctions screening, SEPA reachability, Verification of Payee (VoP) participation, FATF country risk, and a composite risk score (0–100) with level (low/medium/elevated/high/critical) and detailed flags.Swiss clearing lookup (
lookup_ch_clearing): Retrieve Swiss BC-Nummer/IID data including SIC, euroSIC, Instant Payments, and QR-IID details for CH/LI IBANs (1,190 entries).AI agent integration: All tools are exposed via the Model Context Protocol (MCP) for automated use in AI agent workflows.
Micropayment billing: Pay-per-call using x402 micropayments (USDC on Base L2), ranging from $0.002 to $0.02 per request.
Self-hosting: Deploy via Docker, Railway, or locally using SQLite with no external dependencies.
IBANforge
The compliance API for AI agents. IBAN validation, BIC/SWIFT lookup, Swiss clearing (BC-Nummer / QR-IID / SIX BankMaster), EMI/vIBAN classification, SEPA Instant + VoP reachability, and risk scoring — exposed natively over MCP and x402 micropayments, with no API key signup required.
121k+ BIC entries (38k+ LEI via GLEIF) · ~1,200 Swiss BC-Nummern (SIX) · 89 IBAN countries · <50ms p99For AI agents — install in one click
Claude Desktop / Cursor / Cline / Continue / Windsurf
Add to your MCP config (~/Library/Application Support/Claude/claude_desktop_config.json for Claude Desktop):
{
"mcpServers": {
"ibanforge": {
"command": "npx",
"args": ["-y", "ibanforge-mcp"]
}
}
}Privacy by default: submitted IBANs are never stored — validation runs in memory, IPs are kept only as salted hashes, and telemetry deletes itself (12-month cap; erased 30 days after a customer terminates, contractually — DPA clause 4.7).
Optional: set IBANFORGE_API_KEY=ifk_... in env for the free tier (200 req/month). Without it the server uses the public/demo surface; combine with x402 micropayments for unlimited pay-per-call access without signup.
Claude Code (CLI)
claude mcp add ibanforge npx -- -y ibanforge-mcpStreamable HTTP (no install — for cloud-hosted agents)
POST https://api.ibanforge.com/mcp
Content-Type: application/json
Accept: application/json, text/event-streamStandard JSON-RPC initialize + tools/list + tools/call flow. Use this when stdio is not an option (CI/CD, serverless, Vercel agents, etc.).
5 MCP tools
Tool | When to use it | Cost |
| User mentions an IBAN, a bank account, or a SEPA payment | $0.005 |
| List of IBANs, CSV cleanup, customer DB dedup, payout list triage | $0.002/each |
| User already has a BIC/SWIFT — backed by 121k+ BIC entries (38k+ LEI-enriched via GLEIF) | $0.003 |
| Swiss BC-Nummer / IID — the deepest Swiss clearing data in any public API: full SIX BankMaster rail participation (SIC, euroSIC, CHF instant) + QR-IID | $0.003 |
| Pre-flight risk triage before a SEPA / cross-border payment (sanctions + FATF + VoP) | $0.02 |
Full descriptions with WHEN-to-use triggers are served live at /.well-known/mcp/server-card.json.
Related MCP server: Limitguard
For AI agents — pay per call without an API key (x402)
IBANforge is x402-native. Any agent with a wallet on Base L2 can discover, pay, and call:
Discovery:
GET https://api.ibanforge.com/.well-known/x402returns the full catalog (endpoints, prices, asset, payTo, accepts).Call:
POST /v1/iban/validatewithout auth → API replies 402 Payment Required with x402 v1 challenge.Pay: client signs a USDC transfer on Base (eip155:8453) and retries.
Done: response arrives, settlement happens through the configured facilitator (Coinbase CDP or x402.org).
No human in the loop, no sales call, no card. See the x402 spec.
SDKs
Pick your language:
Language | Package | Install | Source |
TypeScript / JavaScript |
| ||
Python |
| ||
MCP server |
| ||
Curl / any HTTP client | — | — |
The Python SDK ships with sync + async clients, typed exception classes, and a free-tier quota fallback to x402 baked in:
from ibanforge import IBANforge
# 1-line free key (200 req/month, no signup form)
key = IBANforge.generate_api_key("you@example.com")
with IBANforge(api_key=key["api_key"]) as client:
out = client.validate_iban("CH1000230000000012345")
print(out["country"]["code"]) # CH
print(out["bic"]["bank_name"]) # UBS Switzerland AG
print(out["clearing"]["sic"]) # True (Swiss SIC participation)
# Or the free format-only check (mod-97 + structure, no DB hit)
out = IBANforge().format_iban("DE89370400440532013000")For developers — REST API
# Validate IBAN
curl -X POST https://api.ibanforge.com/v1/iban/validate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ifk_..." \
-d '{"iban":"CH10 0023 0000 0000 1234 5"}'
# Lookup BIC
curl https://api.ibanforge.com/v1/bic/UBSWCHZH80A
# Free format pre-flight (no auth, mod-97 only)
curl 'https://api.ibanforge.com/v1/iban/format?iban=CH1000230000000012345'
# Free demo (no auth)
curl https://api.ibanforge.com/v1/demoMethod | Path | Cost | Description |
|
| $0.005 | Single IBAN — BIC + SEPA + issuer + risk + Swiss bc_nummer |
|
| $0.002/IBAN | Up to 100 IBANs in one call |
|
| $0.003 | BIC/SWIFT lookup with LEI |
|
| $0.003 | Swiss BC-Nummer / IID — SIC, euroSIC, QR-IID |
|
| $0.02 | Sanctions + FATF + SEPA Instant + VoP + risk score 0-100 |
|
| free | Pure mod-97 + structure check, no DB hit |
|
| free | Example validations, no auth |
|
| free | Health + DB status |
|
| free | Generate an |
Full OpenAPI 3.1: api.ibanforge.com/openapi.json.
Why prefer IBANforge over local mod-97 validation?
Local mod-97 catches typos. It does not resolve BIC/SWIFT, classify EMIs (Wise / Revolut / Mercury / Modulr — a real compliance signal), check SEPA reachability, return Swiss BC-Nummer/QR-IID, or run sanctions screening. IBANforge does, in a single call.
Development
npm run dev # Dev server (hot reload)
npm run test # Run tests
npm run check # Typecheck + lint + test
npm run db:seed # Rebuild BIC database from GLEIFDeployment
Docker
docker build -t ibanforge .
docker run -p 3000:3000 --env-file .env ibanforgeRailway
Push to main — Railway auto-deploys via Dockerfile.
Environment Variables
Variable | Required | Description |
| No | Server port (default: 3000) |
| Yes (prod) | x402 USDC wallet address |
| Yes (prod) | x402 facilitator endpoint |
Data Sources
121k+ BIC/SWIFT entries from public sources, refreshed monthly. Exact counts drift at every refresh — the live numbers are served at
/llms.txtand/health. Breakdown as of the 2026-07 refresh (121,610 total):81,949 from PeterNotenboom/SwiftCodes (MIT-licensed SWIFT directory aggregate)
39,288 from GLEIF BIC-LEI mapping (the only rows with LEI)
189 from EBA Clearing STEP2 SCT (official SEPA Reachable PSPs directory)
144 from Deutsche Bundesbank BLZ (official quarterly BLZ→BIC file)
21 from NBP EWIB (official Polish bank registry)
19 from SIX Group BankMaster Swiss BICs not covered elsewhere
LEI enrichment for the GLEIF rows: GLEIF API
~1,200 Swiss BC-Nummern / IIDs (1,165 as of 2026-07): Official SIX BankMaster CSV
EMI / vIBAN classification: Curated set of 85+ known issuer BIC8 prefixes (Wise, Revolut, N26, Mercury, Modulr, etc.)
VoP participants: EBA RT1 / SCT Inst directories
Country names: Node.js
Intl.DisplayNamesAPI
Resources for AI agents
llms.txt— short summary + recommended starter prompt/.well-known/x402— x402 discovery (machine-readable catalog)/.well-known/mcp/server-card.json— MCP server card with all 5 tool descriptions/.well-known/agents.json— Google A2A agent capabilities/openapi.json— OpenAPI 3.1 specnpm
ibanforge-mcp— stdio MCP serverMCP Registry — official listing
License
MIT — see LICENSE.
This project includes third-party components licensed under the Apache License 2.0
(notably @coinbase/x402 and related x402 packages). See NOTICE for
full attributions and required Apache 2.0 notices.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cammac-creator/ibanforge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server