# LEI Validator (ISO 17442 Checksum)

> LEI Validator (ISO 17442 Checksum) is a paid API for AI agents from 2s.io, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Validates a Legal Entity Identifier (LEI) string using ISO 7064 mod-97-10 check digit arithmetic, returning validity status, normalized form, issuing LOU prefix, and failure reason.

## Facts

- Endpoint: GET https://2s.io/api/validate/lei
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/lei-validator-iso-17442-checksum-c75c14a9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1ACRPGYO74UFD9uHXAb11

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 lei-validator-iso-17442-checksum-c75c14a9
```

Example prompt: Can you check if the LEI '2138002JK4WXAM8RNZ19' is valid — I want to confirm the check digits are correct before I submit it to our trade reporting system.

## When to prefer this

Use this endpoint when you need a fast, cheap structural and checksum validation of an LEI before performing a more expensive GLEIF registry lookup. Ideal for pre-filtering bad identifiers in bulk onboarding, KYC pipelines, or trade reporting flows where invalid LEIs should be rejected early. Prefer this over direct GLEIF API calls when you only need to confirm format and check digit correctness, not entity name or ownership data.

## Known failure modes

- LEI is not 20 characters — returns valid:false with reason explaining length error
- LEI contains invalid characters (non-alphanumeric) — returns valid:false with reason
- Check digit mod-97-10 calculation fails — returns valid:false with reason indicating checksum mismatch
- Missing 'lei' query parameter — likely returns 400 or error JSON
- Network/payment failure — HTTP 402 if x402 payment not properly handled

## How this service works

Validate a Legal Entity Identifier (LEI, ISO 17442) with the ISO 7064 mod-97-10 check digits — not just a 20-character regex. Returns {valid, lei (normalized), louPrefix (issuing LOU), checkDigits, reason}. Confirms a counterparty/vendor LEI is well-formed before lookup; pairs with GLEIF data for name + ownership resolution. Structure + checksum only.

## Output

Returns a JSON object with: 'valid' (boolean), 'lei' (normalized 20-char string), 'louPrefix' (4-char issuing LOU code), 'checkDigits' (the two check digit characters), and 'reason' (human-readable explanation if invalid). Does not perform a live GLEIF lookup — checksum and structure only.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "lei": "2138002JK4WXAM8RNZ19"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "required": [
      "lei"
     ],
     "properties": {
      "lei": {
       "type": "string",
       "description": "20-character LEI (case-insensitive)."
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "schema": {
  "type": "object",
  "properties": {
   "ok": {
    "type": "boolean"
   },
   "items": {
    "type": "array",
    "items": {
     "type": "object",
     "properties": {
      "lei": {
       "type": "string"
      },
      "input": {
       "type": "string"
      },
      "valid": {
       "type": "boolean"
      },
      "reason": {},
      "louPrefix": {
       "type": "string"
      },
      "checkDigits": {
       "type": "string"
      }
     }
    }
   },
   "total": {
    "type": "integer"
   },
   "source": {
    "type": "object",
    "properties": {
     "url": {
      "type": "string"
     },
     "license": {
      "type": "string"
     },
     "provider": {
      "type": "string"
     }
    }
   }
  }
 },
 "example": {
  "ok": true,
  "items": [
   {
    "lei": "7LTWFZYICNSX8D621K86",
    "input": "7LTWFZYICNSX8D621K86",
    "valid": true,
    "reason": null,
    "louPrefix": "7LTW",
    "checkDigits": "86"
   }
  ],
  "total": 1,
  "source": {
   "url": "https://2s.io",
   "license": "No upstream license — computed by 2s.io",
   "provider": "2s.io LEI validator"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/lei-validator-iso-17442-checksum-c75c14a9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
