# IBANforge — Full LLM Reference > Pre-payout screening for AI agents — check the bank behind a counterparty IBAN before you send funds. IBAN validation, BIC/SWIFT lookup, Swiss clearing (BC-Nummer / QR-IID / SIX BankMaster), EMI/vIBAN classification, SEPA Instant + VoP reachability, and sanctions + risk scoring — native over MCP and x402 micropayments. ## What is IBANforge? IBANforge is a compliance-grade API built for AI agents and developers. It validates IBANs, resolves BIC/SWIFT codes, exposes Swiss BC-Nummer clearing data (full SIX BankMaster payment-rail participation + QR-IID — the deepest Swiss clearing data in any public API), detects EMI/virtual IBANs, checks SEPA Instant + VoP reachability, and returns a compliance risk score. Three payment rails with no dead-ends: a free API-key tier (200 req/month), prepaid credit packs (card or USDC), and x402 micropayments (USDC on Base L2, no signup). 121k+ BIC entries (39k+ LEI-enriched via GLEIF) · 1,100+ Swiss BC-Nummern (SIX) · 89 countries · 85 EMI/vIBAN issuer classifications. Live counts: https://api.ibanforge.com/llms.txt ## Core Capabilities 1. **IBAN Validation** — ISO 13616 MOD-97 checksum, BBAN structure parsing, 89 countries 2. **BIC/SWIFT Lookup** — 121k+ institutions, 39k+ LEI-enriched via GLEIF, refreshed monthly 3. **Swiss Clearing** — BC-Nummer / IID with the full SIX BankMaster payment-rail participation (SIC, RTGS CHF, CHF instant, euroSIC, LSV+/BDD), QR-IID and institution classification — the deepest Swiss clearing data in any public API 4. **EMI / vIBAN Detection** — identify virtual IBANs from EMIs (Wise, Revolut, N26, Mercury, Modulr, …) 5. **Compliance Risk Scoring** — bank-BIC sanctions (OFAC) + FATF + SEPA Instant + VoP, risk score 0-100 6. **MCP Integration** — native Model Context Protocol server (stdio + streamable HTTP) ## Authentication & Pricing Three rails, pick what fits — agents never hit a dead-end: **Free tier (API key):** - POST /v1/keys/generate {"email":"you@example.com"} → use `Authorization: Bearer ifk_...` - 200 requests/month **Credit packs (card or USDC, never expire):** - 1,000 calls = $5 · 5,000 = $20 · 25,000 = $80 - POST /v1/credits/buy/1k | /5k | /25k **x402 micropayments (no signup, USDC on Base L2):** - Validate IBAN: $0.005 · Batch: $0.002/IBAN · BIC lookup: $0.003 · CH clearing: $0.003 · Compliance: $0.02 - Discovery: GET https://api.ibanforge.com/.well-known/x402 ## MCP Tools (5) - `validate_iban` — Validate one IBAN with full enrichment ($0.005) - `batch_validate_iban` — Validate up to 100 IBANs, $0.002 each ($0.20 for 100) - `lookup_bic` — BIC/SWIFT → bank, country, city, LEI ($0.003) - `lookup_ch_clearing` — Swiss BC-Nummer / IID → institution, address, full rail participation, QR-IID — the deepest Swiss clearing data in any public API ($0.003) - `check_compliance` — bank-BIC sanctions + FATF + SEPA + VoP + risk score ($0.02; informational, not regulated AML/CFT) Install: `npx -y ibanforge-mcp` — or HTTP at https://api.ibanforge.com/mcp ## Example: Validate an IBAN ``` POST https://api.ibanforge.com/v1/iban/validate Content-Type: application/json Authorization: Bearer ifk_... {"iban": "CH10 0023 0000 0000 1234 5"} ``` Response (real API output, trimmed to the fields agents use most): ```json { "iban": "CH1000230000000012345", "valid": true, "country": { "code": "CH", "name": "Switzerland" }, "bic": { "code": "UBSWCHZH", "bank_name": "UBS Switzerland AG", "city": "Zürich" }, "issuer": { "type": "bank", "name": "UBS Switzerland AG" }, "sepa": { "member": true, "schemes": ["SCT", "SDD"], "vop_required": false }, "clearing": { "iid": "00230", "name": "UBS Switzerland AG", "type": "bank", "town": "Zürich", "sic": true, "instant_payments_chf": true, "eurosic": true, "qr_iid": null }, "risk_indicators": { "issuer_type": "bank", "country_risk": "standard", "test_bic": false, "sepa_reachable": true, "vop_coverage": false } } ``` ## Example: Compliance check ``` POST https://api.ibanforge.com/v1/iban/compliance {"iban": "CH1000230000000012345"} ``` Returns the validate fields plus a nested `compliance` block (real API output, trimmed): ```json { "iban": "CH1000230000000012345", "valid": true, "compliance": { "sanctions": { "country_sanctioned": false, "bank_sanctioned": false, "matched_lists": [], "fatf_status": "member" }, "reachability": { "sepa_instant": true, "sct": true, "sdd": true }, "vop": { "participant": false, "status": "not_found" }, "risk_score": 5, "risk_level": "low", "flags": ["no_vop"] }, "meta": { "scope": "bank_bic_only", "disclaimer": "...", "sanctions_as_of": "...", "fatf_as_of": "2026-02" } } ``` Read the score at `compliance.risk_score` / `compliance.risk_level`. Sanctions are screened at the bank (BIC8) level only — not the beneficiary name. Not a regulated AML/CFT product. ## Why IBANforge? - **Agent-native**: MCP server + x402 micropayments, no human onboarding - **A real moat**: the deepest Swiss clearing data in any public API — full SIX BankMaster rail participation + QR-IID - **No dead-ends**: free key → credit packs → x402, your agent always has a path to pay - **Honest compliance**: explicit scope + disclaimer + data-freshness on every response - **Fast**: sub-50ms p99 ## Links - Website: https://ibanforge.com - API: https://api.ibanforge.com - Docs: https://ibanforge.com/docs - OpenAPI 3.1: https://api.ibanforge.com/openapi.json - npm: https://www.npmjs.com/package/ibanforge-mcp · PyPI: https://pypi.org/project/ibanforge/ - GitHub: https://github.com/cammac-creator/ibanforge