# 402utils ABA Routing Number Validator

> 402utils ABA Routing Number Validator is a paid API for AI agents from 402utils.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-12).

Validates a 9-digit US ABA routing number using the 3-7-1 checksum and structural rules, returning validity, Federal Reserve district, and optional Ed25519-signed attestation

## Facts

- Endpoint: GET https://402utils.com/v1/routing-check?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/402utils-aba-routing-number-validator-9e96da6b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_x_qJXYO0NLIA0tn7kPGni

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 402utils-aba-routing-number-validator-9e96da6b
```

Example prompt: Can you check whether routing number 021000021 is a valid ABA routing number — specifically verify the 3-7-1 checksum and structure, and also give me a signed attestation so I have an audit trail?

## When to prefer this

Use this endpoint when you need to pre-validate an ABA routing number before initiating a US bank transfer (ACH, wire, payroll) and want checksum + structural assurance without hitting a live bank directory. Prefer this over a full bank-name lookup when you only need validity confirmation and optionally a cryptographically signed audit record. Ideal for automated payment pipelines, compliance checks, or any workflow where a tamper-evident Ed25519 attestation of routing number validity is required.

## Known failure modes

- Invalid or non-9-digit input returns structureValid=false with an explanatory message field
- Unassigned prefix range returns structureValid=false
- Checksum failure returns checksumValid=false with valid=false
- Missing required routing query parameter returns an error response
- Network timeout or service unavailability returns HTTP 5xx
- Payment failure (x402) blocks access if USDC not provided
- Malformed routing string with letters or special chars returns structure error

## How this service works

Validate a US ABA routing number before initiating a transfer: the 3-7-1 checksum, the public structure rules (9 digits; assigned prefixes 00-12 primary, 21-32 thrift, 61-72 electronic, 80 traveler's cheque) and the implied Federal Reserve district. Checksum and structure only — no bank-name directory (the Fed's is redistribution-restricted) and no proof of assignment. ?attest=1 → Ed25519-signed.

## Output

Returns a JSON object with: valid (boolean, AND of checksum + structure), checksumValid (3-7-1 weighted checksum result), structureValid (9 digits and assigned prefix), federalReserveBank (district city), category (primary/thrift/electronic/travelers_cheque/government), optional message on structural failures, and optionally an Ed25519 attestation object containing algorithm, base64url signature, payload with timestamp, key ID, endpoint, and SHA-256 hash of the result for audit verification.

## 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": [
      "routing"
     ],
     "properties": {
      "attest": {
       "type": "string",
       "description": "Set to 1 for an Ed25519-signed attestation of the result (audit trail)."
      },
      "routing": {
       "type": "string",
       "description": "The 9-digit ABA routing number, e.g. 021000021."
      }
     },
     "description": "Query param `routing` (spaces and hyphens tolerated)."
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "valid",
      "checksumValid",
      "structureValid"
     ],
     "properties": {
      "valid": {
       "type": "boolean",
       "description": "structureValid AND checksumValid."
      },
      "message": {
       "type": "string",
       "description": "Present when something is structurally wrong."
      },
      "category": {
       "enum": [
        "government",
        "primary",
        "thrift",
        "electronic",
        "travelers_cheque"
       ],
       "type": "string"
      },
      "attestation": {
       "type": "object",
       "properties": {
        "alg": {
         "type": "string",
         "const": "Ed25519"
        },
        "sig": {
         "type": "string",
         "description": "base64url Ed25519 signature over the canonical JSON of payload."
        },
        "payload": {
         "type": "object",
         "properties": {
          "ts": {
           "type": "string",
           "format": "date-time"
          },
          "kid": {
           "type": "string",
           "description": "Key id — matches a key in the .well-known document."
          },
          "endpoint": {
           "type": "string"
          },
          "resultSha256": {
           "type": "string",
           "description": "SHA-256 of the canonical JSON of the result (attestation excluded)."
          }
         }
        }
       },
       "description": "Present only with ?att
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "valid": true,
  "category": "primary",
  "checksumValid": true,
  "structureValid": true,
  "federalReserveBank": "New York",
  "federalReserveDistrict": 2
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/402utils-aba-routing-number-validator-9e96da6b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 402utils.com](https://www.zero.xyz/host/402utils.com/llms.txt)
