Skip to content
IBANforge
For AI Agents

Built for autonomous agents.

Check an IBAN from your agent: format, identified bank, available sources and dates. Start with remote MCP without installation, then choose a reusable key or a payment client for your needs.

Three ways for an agent to use IBANforge

Path 1 · MCP

Native MCP server

11 tools on the remote HTTP server, 13 in the installed npm package. The two additional tools analyse a creditor file and track its report.

Stdio or HTTP · npm or remote

Path 2 · Free key

Free API key

POST with no body at all, get a key worth 25 calls a month across every endpoint. No e-mail, no verification, no captcha. POST /v1/keys/claim with a mailbox you can read raises that same key to 200 a month. Best for prototyping or low-volume agents.

Header: Authorization: Bearer ifk_…

Path 3 · x402

Pay-per-call x402

Use a wallet on Base L2, agent pays USDC autonomously. No signup, no quota. Best for high-volume agents and zero-friction integrations.

USDC on Base · Coinbase CDP facilitator

Path 1 · MCP

Install in Claude Desktop, Cursor or Cline

11 tools on the remote HTTP server, 13 in the installed npm package. The two additional tools analyse a creditor file and track its report.

Connect an agent without installation

In a client supporting remote MCP, add this HTTP server. No wallet or key is needed for the trial.

Remote MCP server URL

text
https://api.ibanforge.com/mcp
  1. Add this URL as a remote MCP server in your client.
  2. Ask: “Check the documentation IBAN DE89370400440532013000 and report the register result, source and date.”
  3. Read bank_code_check and its sources. An unknown result confirms nothing; the check does not prove that the account exists or identify its holder.

10 tool units per network address per day, without a key; each IBAN in a batch counts as one unit. An API key does not raise this remote allowance. 11 remote tools, 13 in the local package: the two file-audit tools need the installed package.

MCP guide and quotas

Does your client require a local process? Use this configuration.

Stdio · Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows).

json
{
  "mcpServers": {
    "ibanforge": {
      "command": "npx",
      "args": ["-y", "ibanforge-mcp"]
    }
  }
}

HTTP · remote endpoint

Point any MCP-compatible client to:

https://api.ibanforge.com/mcp

11 remote tools · 13 with npm

validate_iban$0.005

Remote HTTP + npm package

IBAN structure, bank code, bank and BIC, with the scope of each verdict. Does not prove the holder or account existence.

batch_validate_iban$0.002 / IBAN

Remote HTTP + npm package

Up to 100 IBANs per call, with the same checks as individual validation.

lookup_bic$0.003

Remote HTTP + npm package

Look up a bank and public institution data from a BIC/SWIFT code.

lookup_ch_clearing$0.003

Remote HTTP + npm package

Look up a Swiss clearing number and the bank’s payment rails.

validate_payment_referenceFree

Remote HTTP + npm package

Check RF, QRR, OGM and Finnish payment references, with the source of each rule.

check_swiss_qr_billFree

Remote HTTP + npm package

Check a Swiss QR-bill payload: IBAN, reference, amount and addresses.

check_postal_addressFree

Remote HTTP + npm package

Check a structured address against SPS, T2 or Fedwire rules.

check_compliance$0.02

Remote HTTP + npm package

Bank-level sanctions, jurisdiction and SEPA reachability. No account-holder check.

audit_creditor_fileFree preview / paid report

npm package only

Analyse a CSV/XLSX file: free preview, paid full report.

audit_statusFree

npm package only

Check the progress and report link for a previously uploaded file.

send_feedbackFree

Remote HTTP + npm package

Report incorrect data or request an x402 refund.

request_api_keyFree

Remote HTTP + npm package

Request a key for a person to approve in their browser.

poll_api_keyFree

Remote HTTP + npm package

Collect the key once, after approval.

Path 2 · Free key

25 free calls a month — no e-mail, no signup

POST an empty body and receive a key. The key is shown once. Add it as Authorization: Bearer ifk_… on every call. To reach 200 a month, call /v1/keys/claim with an address you can read.

bash
curl -X POST https://api.ibanforge.com/v1/keys/generate

# → { "api_key": "ifk_...", "monthly_limit": 25 }

When the monthly quota is exhausted, the API automatically falls back to x402: the same agent can keep calling, paying $0.005 per request, with no extra setup until the quota resets on the 1st of the next month.

SDKs

Integrate with an SDK

Store the key obtained above in the server-side IBANFORGE_API_KEY environment variable for Python, or replace ifk_... in the TypeScript configuration. SDKs expose quota and payment errors; they do not automatically sign payments.

python
# pip install ibanforge
import os
from ibanforge import IBANforge

with IBANforge(api_key=os.environ["IBANFORGE_API_KEY"]) as client:
    out = client.validate_iban("DE89370400440532013000")
    print(out["valid"])
    print(out.get("bank_code_check"))
    print(out.get("bic"))
typescript
// npm install @ibanforge/sdk
import { IBANforge } from "@ibanforge/sdk";

const ibanforge = new IBANforge({ apiKey: "ifk_..." });

const out = await ibanforge.validateIban("CH1000230000000012345");

console.log(out.country?.code);          // CH
console.log(out.bic?.bank_name);         // UBS Switzerland AG
console.log(out.sepa?.member);           // true
Path 3 · x402

Pay-per-call in USDC on Base

No quota, no signup, no email. Your agent's wallet signs an authorization, the Coinbase CDP facilitator settles the payment, and the API returns the response. ~1-2 second round-trip.

typescript
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/fetch";
import { ExactEvmScheme, toClientEvmSigner } from "@x402/evm";
import { createPublicClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";

const account = privateKeyToAccount(process.env.WALLET_KEY as `0x${string}`);
const publicClient = createPublicClient({ chain: base, transport: http() });
const evmSigner = toClientEvmSigner(account, publicClient);

const client = new x402Client()
  .register("eip155:8453", new ExactEvmScheme(evmSigner));

const paid = wrapFetchWithPayment(fetch, client);

const r = await paid("https://api.ibanforge.com/v1/iban/validate", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ iban: "CH1000230000000012345" }),
});
// pays $0.005 USDC autonomously, returns 200 with the response

Pricing is advertised on every paid endpoint via 402 responses with full payment requirements (network: base, asset: USDC, payTo, amount, schema). Listed on Coinbase Bazaar discovery for autonomous discovery.

5 paid endpoints, all available via MCP + x402 + API key

Same data, three integration paths.

POST/v1/iban/validate$0.005
POST/v1/iban/batch$0.002 / IBAN
GET/v1/bic/:code$0.003
GET/v1/ch/clearing/:iid$0.003
POST/v1/iban/compliance$0.02
Auto-discovery

Machine-readable metadata

Standard discovery endpoints for agents that crawl the web for usable APIs:

Put these checks to work

Choose a first step for your software or your supplier file.

Integrate IBAN checks into your software

Try a validation, inspect the response, then connect your application through the API or an existing integration.

Explore the API workflow

Check a supplier file

Upload a CSV or Excel file and preview the findings for free. Purchase the annotated workbook if you need the full report. No account or subscription required.

Explore the file audit

Available bank information varies by country and source. These checks do not confirm the account holder or guarantee that a payment will succeed.