# Checksum Validator (IBAN, Luhn, EAN-13, ISBN, UUID, ULID)

> Checksum Validator (IBAN, Luhn, EAN-13, ISBN, UUID, ULID) is a paid API for AI agents from toolbelt402.tpoborne.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-15).

Validates identifiers by checksum algorithm — IBAN (mod-97), payment card numbers (Luhn), EAN-13 barcodes, ISBN-10/13, UUIDs (RFC-4122), and ULIDs — in batches up to 100 per call with per-item pass/fail reasons.

## Facts

- Endpoint: POST https://toolbelt402.tpoborne.workers.dev/validate/checksum
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/checksum-validator-iban-luhn-ean-13-isbn-uuid-ulid-33fc9aa8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_w6RLWUwPfzuFLfCUdhzg6

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability checksum-validator-iban-luhn-ean-13-isbn-uuid-ulid-33fc9aa8 -d '<json body>'
```

Example prompt: Can you validate these 5 IBANs for me and tell me which ones fail and why: GB29NWBK60161331926819, DE89370400440532013000, FR7630006000011234567890189, XX00INVALID00000, GB82WEST12345698765432?

## When to prefer this

Choose this endpoint when you need algorithmic checksum validation of well-known identifier formats (IBAN, card numbers, EAN-13, ISBN, UUID, ULID) without hitting a financial institution or external database. It is ideal for pre-validation pipelines (catching bad identifiers before expensive downstream calls), bulk data-quality audits, and form validation where you need a human-readable reason for each failure. It does not perform live bank account lookups or card authorization — use it purely for format/checksum correctness.

## Known failure modes

- Batch exceeds 100 items — request is rejected with an error
- Unrecognized identifier type — item marked invalid with 'unknown format' reason
- Malformed input (non-string, null) — per-item error or overall 400 response
- Ambiguous identifier that could match multiple types — may be checked against most likely type only
- Network timeout on Cloudflare Workers edge — transient 5xx

## How this service works

Validate identifiers by checksum: IBAN (mod-97), card numbers (Luhn), EAN-13, ISBN-10/13, UUID (RFC-4122), ULID. Batch up to 100 per call with per-item reasons.

## Output

Returns a per-item array (up to 100) where each entry includes the original identifier, a boolean valid flag, the detected identifier type (IBAN, Luhn, EAN-13, ISBN-10, ISBN-13, UUID, ULID), and a human-readable reason string explaining the checksum result or the specific failure cause.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "items": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "type",
     "value"
    ],
    "properties": {
     "type": {
      "enum": [
       "iban",
       "luhn",
       "ean13",
       "isbn10",
       "isbn13",
       "uuid",
       "ulid"
      ],
      "type": "string"
     },
     "value": {
      "type": "string",
      "maxLength": 256
     }
    }
   },
   "maxItems": 100
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/checksum-validator-iban-luhn-ean-13-isbn-uuid-ulid-33fc9aa8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from toolbelt402.tpoborne.workers.dev](https://www.zero.xyz/host/toolbelt402.tpoborne.workers.dev/llms.txt)
