mirrored listing x402 eip155:8453

Validate a European IBAN and enrich it with bank, compliance and routing data

Validate a European IBAN and enrich it with bank, compliance and routing data. Use whenever the user mentions an IBAN, a bank account, a SEPA payment or asks who the bank is. Returns: valid, country, BIC/SWIFT, bank name, EMI/vIBAN flag, SEPA + VoP reachability, risk score, Swiss bc_nummer for CH/LI. Production · server processing <5ms (network excluded — measure your own round trip on GET /ping) · 121,000+ BICs (39,000+ LEI via GLEIF) + 1,100+ SIX · v1.5.0.

Do you run api.ibanforge.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
5000 (raw units)
price
2
calls / 30d
1
unique payers
2026-09-06
updated

Provider

api.ibanforge.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0xD13bD0A4120BA301125290e5cc0c7EFD4CB40a55",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "maxTimeoutSeconds": 60
  }
]

Output schema

{
  "bazaar": {
    "bodyType": "json",
    "discoverable": true,
    "info": {
      "input": {
        "body": {
          "iban": "CH1000230000000012345"
        },
        "bodyType": "json",
        "discoverable": true,
        "method": "POST",
        "schema": {
          "properties": {
            "iban": {
              "description": "IBAN to validate (spaces and lowercase accepted).",
              "maxLength": 34,
              "minLength": 15,
              "type": "string"
            }
          },
          "required": [
            "iban"
          ],
          "type": "object"
        },
        "type": "http"
      },
      "output": {
        "example": {
          "_example_notice": "ILLUSTRATIVE SAMPLE — these are demo values for a fixed record, NOT the data for the resource you requested. Do not report them to a user. Authenticate (Authorization: Bearer ifk_...) or pay via x402 to get the real response.",
          "bank_code_check": {
            "as_of": "2026-07",
            "authoritative": true,
            "match": "register",
            "register": "SIX BankMaster (Swiss IID / BC-Nummer register)",
            "status": "verified",
            "value": "00230"
          },
          "bban": {
            "account_number": "000000012345",
            "bank_code": "00230"
          },
          "bic": {
            "bank_name": "UBS Switzerland AG",
            "city": "Zürich",
            "code": "UBSWCHZH"
          },
          "check_digits": "10",
          "clearing": {
            "eurosic": true,
            "iid": "00230",
            "instant_payments_chf": true,
            "name": "UBS Switzerland AG",
            "qr_iid": null,
            "sic": true,
            "town": "Zürich",
            "type": "bank"
          },
          "cost_usdc": 0.005,
          "country": {
            "code": "CH",
            "name": "Switzerland"
          },
          "formatted": "CH10 0023 0000 0000 1234 5",
          "iban": "CH1000230000000012345",
          "issuer": {
            "classification": "default",
            "name": "UBS Switzerland AG",
            "type": "bank"
          },
          "risk_indicators": {
            "country_risk": "standard",
            "issuer_type": "bank",
            "sepa_reachable": true,
            "sepa_reachable_scope": "country",
            "test_bic": false,
            "vop_coverage": false
          },
          "sepa": {
            "member": true,
            "schemes": [
              "SCT",
              "SDD"
            ],
            "vop_required": false
          },
          "valid": true
        },
        "type": "json"
      }
    },
    "inputSchema": {
      "properties": {
        "iban": {
          "description": "IBAN to validate. Spaces and lowercase accepted. Example: CH1000230000000012345",
          "maxLength": 34,
          "minLength": 15,
          "type": "string"
        }
      },
      "required": [
        "iban"
      ],
      "type": "object"
    },
    "schema": {
      "properties": {
        "input": {
          "properties": {
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            }
          },
          "required": [
            "method"
          ]
        }
      }
    }
  }
}

Use it

curl

curl "https://api.ibanforge.com/v1/iban/validate"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://api.ibanforge.com/v1/iban/validate");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://api.ibanforge.com/v1/iban/validate")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/13801.json, and this resource appears in /discovery/resources and /discovery/search.