# code402 UPI VPA Check

> code402 UPI VPA Check is a paid API for AI agents from hcrb.in, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-11).

Validates a UPI Virtual Payment Address (VPA) format and accreditation offline, returning validity, handle details, and PSP accreditation status via a micropayment-gated API.

## Facts

- Endpoint: POST https://hcrb.in/v1/tools/upi-vpa-check/call?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/code402-upi-vpa-check-4b7fbed2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8e_r7QE0e392_wKWniBQc

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 code402-upi-vpa-check-4b7fbed2 -d '<json body>'
```

Example prompt: Can you check whether the UPI VPA 'rahul.sharma@okicici' is valid and if it belongs to an accredited payment service provider?

## When to prefer this

Use this endpoint when you need a fast, offline, deterministic check of a UPI VPA without relying on network lookups, ML models, or third-party scraping. It is ideal for due diligence pipelines, payment onboarding flows, or any scenario where you want a cheap ($0.005 per call), verifiable, non-custodial validation with a signed receipt. Prefer it over live UPI resolution APIs when privacy, speed, and cost matter more than confirming the account is currently active.

## Known failure modes

- Invalid or malformed VPA input returns valid:false with a reason explaining the format issue
- Unknown PSP suffix may return accredited_psp:false even if format is valid
- Network or payment authorization failure prevents the call from completing
- Missing or insufficient USDC balance in x402 wallet blocks the request
- Rate limit exceeded if more than 3 free daily calls are exhausted without payment setup

## How this service works

Offline deterministic checks (no ML, no scraping) for business identifiers and rental due-diligence, paid per call via x402 (gasless EIP-3009 USDC on Base). Checksum-verifiable (IBAN, LEI, VAT, ABA, ISBN, SEDOL…) vs format-only (EIN, IFSC, SWIFT/BIC…) — every response returns a scope field. Non-custodial, signed receipts. First 3 calls/day free.

## Output

A JSON object containing: a boolean 'valid' field, the 'scope' indicating check type (format-only or checksum-verified), the parsed 'handle' and 'username', a 'normalized' canonical form of the VPA, the 'country' code, whether the PSP is 'accredited_psp', and a human-readable 'reason' string explaining the result.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "vpa"
   ],
   "properties": {
    "vpa": {
     "type": "string",
     "description": "UPI Virtual Payment Address (e.g. 'merchant@okhdfcbank', '9876543210@paytm')"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "schema": {
  "type": "object",
  "required": [
   "tool",
   "valid"
  ],
  "properties": {
   "tool": {
    "type": "string"
   },
   "scope": {
    "type": "string"
   },
   "valid": {
    "type": "boolean"
   },
   "handle": {
    "type": "string"
   },
   "reason": {
    "type": "string"
   },
   "country": {
    "type": "string"
   },
   "username": {
    "type": "string"
   },
   "normalized": {
    "type": "string"
   },
   "accredited_psp": {
    "type": "boolean"
   }
  }
 },
 "example": {
  "valid": true,
  "reason": "checksum valid"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/code402-upi-vpa-check-4b7fbed2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hcrb.in](https://www.zero.xyz/host/hcrb.in/llms.txt)
