81trust / 100

Bank Verify

by bank-verify in Security & trust

x402 APIPassing, checked 5 h ago

Bank account / IBAN verification in one call: ISO 13616 checksum + per-country structure validation, BIC / bank name / branch resolution, country details, SEPA-zone flag, and a deterministic 0-100 fraud/KYC risk score with a band, reasons and weighted signals. Offline open-registry data (schwifty, MIT). Structural + resolution + risk indicators only; NOT proof the account exists or who owns it, and no name matching. Input not stored.

GET https://api.agentstools.dev/bank/verify

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
27 ms typical, 27 ms slowest 5%
Last check
5 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://api.agentstools.dev/bank/verify?expected_country=DE&iban=DE89370400440532013000"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.agentstools.dev%2Fbank%2Fverify
const res = await pay("https://api.agentstools.dev/bank/verify?expected_country=DE&iban=DE89370400440532013000");
console.log(await res.json());

Example input

{
  "expected_country": "DE",
  "iban": "DE89370400440532013000"
}

Example output

{
  "bank_code": "37040044",
  "bank_name": "Commerzbank",
  "bank_sanctions_advisory": null,
  "bic": "COBADEFFXXX",
  "branch_code": null,
  "country": {
    "alpha_2": "DE",
    "alpha_3": "DEU",
    "name": "Germany",
    "numeric": "276"
  },
  "disclaimer": "Offline IBAN verification indicators, not advice.",
  "error_type": null,
  "expected_country": "DE",
  "format_spec": {
    "bban_length": 18,
    "bban_spec": "8!n10!n",
    "iban_length": 22
  },
  "high_risk_jurisdiction": null,
  "iban": "DE89370400440532013000",
  "in_sepa_zone": true,
  "reasons": [],
  "risk_band": "low",
  "risk_score": 0,
  "signals": [],
  "valid": true,
  "virtual_iban_issuer": null
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
5 h agoPassed40227 ms$0.008