# Farsi National ID Validator

> Farsi National ID Validator is a paid API for AI agents from farsi-tools.johnaio281.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-30).

Validates whether a 10-digit Iranian national ID (کد ملی) is mathematically valid

## Facts

- Endpoint: GET https://farsi-tools.johnaio281.workers.dev/api/fa/validate-national-id?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/farsi-national-id-validator-1bc03702
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_w7RcHTC2XvI7D4JVQquS9

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 farsi-national-id-validator-1bc03702
```

Example prompt: Can you check whether the Iranian national ID 1234567891 is valid?

## When to prefer this

Use this endpoint when you need a lightweight, pay-per-call check on Iranian national ID numbers (کد ملی) without standing up your own checksum logic. It is especially suitable for KYC pipelines, form validation, and fraud screening where you want a simple true/false validity answer for individual IDs at minimal cost ($0.005 per call).

## Known failure modes

- Missing or malformed `value` query parameter returns an error
- Non-numeric or fewer/more than 10 digits may return valid=false or a validation error
- Payment failure via x402 if USDC balance is insufficient or wallet not configured
- Network timeouts on the Cloudflare Workers edge

## How this service works

Persian (Farsi) and Iranian utility API for AI agents. Text normalization, transliteration, Jalali (Solar Hijri) calendar conversion, Persian digits and number-to-words, Iranian national ID / Sheba (IBAN) / mobile / landline / postal code / bank card (Luhn PAN) / company ID / economic code validators, Iranian provinces and cities, official Jalali holidays, Rial-Toman conversion. Also a FIXED-PRICE deliverable SKU: Persian/Arabic data cleanup at $0.90, $9 or $25 flat per file (not per call) - upload a CSV, TSV or text file and get it back normalized, with an optional Latin transliteration column. Pay per request in USDC on Base via x402 - no signup, no API key, no KYC.

## Output

Returns a JSON object with a single boolean field `valid` indicating whether the supplied 10-digit Iranian national ID passes the official checksum algorithm (true = valid, false = invalid).

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "value"
     ],
     "properties": {
      "value": {
       "type": "string",
       "description": "10-digit national ID"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "valid": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/farsi-national-id-validator-1bc03702/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from farsi-tools.johnaio281.workers.dev](https://www.zero.xyz/host/farsi-tools.johnaio281.workers.dev/llms.txt)
