SERVICE / DETAILother

NetIntel

GET netintel.dev/iban/validate

SONAR SCORE0.606
LIVE PRICE0.005000
BAZAAR LIVEcompatible
CDP INDEXEDno
DECISION EVIDENCE

Why an agent can trust this route.

18 observations in the last 24h
HANDSHAKE SUCCESS83.3%402 challenge reachable
PAID DELIVERY0.0%settlement observed
P90 LATENCY4002msrecent response window
PRICE DRIFT0.0%advertised vs observed

Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.

SONAR PROBE HISTORY / 30D

Observed outcomes

JSON ↗
LIVE ENDPOINT METADATA

Validate any IBAN offline — mod-97 check digits, per-country structure, bank/branch extraction, and pretty formatting for ~80 countries — deterministic, instant, no upstream. A structurally invalid IBAN is a real answer: valid:false + findings naming exactly what failed. Pass iban as ?iban= (GET) or a JSON body (POST).

Resource: netintel.dev/iban/validate

Network: eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0xdaDc335482AD545296Fd7b28518A251fFCbEb9Df

Payment methods: · Last validation: 2026-09-14 16:35:05.07+00

{
  "input": {
    "type": "object",
    "required": [
      "type",
      "method"
    ],
    "properties": {
      "type": {
        "type": "string",
        "const": "http"
      },
      "method": {
        "enum": [
          "GET"
        ],
        "type": "string"
      },
      "queryParams": {
        "type": "object",
        "required": [
          "iban"
        ],
        "properties": {
          "iban": {
            "type": "string",
            "description": "The IBAN to validate — spaces, hyphens, case, and a leading IBAN: label are tolerated. Aliases: account, account_number, number"
          }
        }
      }
    },
    "additionalProperties": false
  },
  "output": {
    "type": "object",
    "required": [
      "type"
    ],
    "properties": {
      "type": {
        "type": "string"
      },
      "example": {
        "type": "object",
        "properties": {
          "iban": {
            "type": "string",
            "description": "normalized electronic format"
          },
          "valid": {
            "type": "boolean"
          },
          "country": {
            "type": "string"
          },
          "findings": {
            "type": "array"
          },
          "bank_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "formatted": {
            "type": "string",
            "description": "print format, grouped by 4"
          },
          "length_ok": {
            "type": "boolean"
          },
          "branch_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "checksum_ok": {
            "type": "boolean"
          },
          "sepa_member": {
            "type": "boolean"
          },
          "check_digits": {
            "type": "string"
          },
          "country_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "structure_ok": {
            "type": "boolean"
          },
          "account_number": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  },
  "paymentRequirements": [
    {
      "raw": {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xdaDc335482AD545296Fd7b28518A251fFCbEb9Df",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0xdaDc335482AD545296Fd7b28518A251fFCbEb9Df",
      "scheme": "exact",
      "network": "eip155:8453",
      "amountAtomic": "5000"
    },
    {
      "raw": {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "8FVeybWnB4dYrxTuPK7WzFZNAiEcFVaDLFnKpRwVGr5s",
        "amount": "5000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 300
      },
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "payTo": "8FVeybWnB4dYrxTuPK7WzFZNAiEcFVaDLFnKpRwVGr5s",
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "amountAtomic": "5000"
    }
  ]
}
METADATA PROVENANCE

Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.