# After 6 Labo Japanese Bank Transfer Name Validator (Zengin)

> After 6 Labo Japanese Bank Transfer Name Validator (Zengin) is a paid API for AI agents from after6labo-x402.silly-detective.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-12).

Validates and corrects Japanese bank transfer recipient/sender names to Zengin halfwidth katakana format, returning issues and a corrected candidate string.

## Facts

- Endpoint: POST https://after6labo-x402.silly-detective.workers.dev/paid/ja-bank-name-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/after-6-labo-japanese-bank-transfer-name-validator-zengin-ac9e17c6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QbzAQPy3QZn-mZcd7TaaC

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 after-6-labo-japanese-bank-transfer-name-validator-zengin-ac9e17c6 -d '<json body>'
```

Example prompt: Check if '株式会社ニホン' is a valid recipient name for a Japanese bank transfer using the paypay-web-sofuri-zengin-csv-20241107 profile — the corporation type is 株式会社 as a prefix — and give me the corrected halfwidth kana version if it's not valid.

## When to prefer this

Choose this endpoint when you need deterministic, rules-based validation of Japanese bank transfer names against the Zengin halfwidth katakana standard — specifically for the PayPay Bank Sofuri/Zengin CSV profile. It is ideal for pre-flight checks before submitting bank transfers, batch payroll file generation, or any workflow that must ensure recipient/sender names comply with Japanese banking character restrictions. Unlike general text normalization tools, it understands Japanese corporate entity abbreviations, UTF-16 character offsets, and produces a ready-to-use corrected candidate name with per-character change explanations.

## Known failure modes

- Name contains characters entirely outside Zengin allowed set — all characters flagged as DISALLOWED_CHARACTER errors
- Corporation type or position mismatch causing incorrect abbreviation insertion
- Name exceeds 30 halfwidth units after normalization — candidate still returned but flagged invalid
- Payment fails or x402 authorization not provided — endpoint returns 402 without processing
- Input name is empty or exceeds 2048 UTF-16 units — schema validation error
- Profile enum value not recognized — request rejected with validation error

## How this service works

Deterministic Japanese text utilities for AI agents, paid per call with x402 (USDC on Base): Unicode/Japanese script text statistics, and a Japanese bank-transfer name (Zengin halfwidth kana) format check with reviewable correction candidates.

## Output

Returns a JSON object with: a boolean formatValid flag, a list of character-level issues with severity and UTF-16 offsets, a candidate object with the corrected halfwidth kana name and its unit count, a list of changes applied with reasons (e.g. PROFILE_NORMALIZATION, EXPLICIT_CORPORATION), the maximum allowed halfwidth units, source reference to the PayPay Bank manual, and a scope disclaimer clarifying this is syntax/rules validation only, not account-name lookup.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "name": {
   "type": "string",
   "maxLength": 2048,
   "minLength": 1,
   "description": "UTF-16 max 2048. Full name, or base name when corporation is supplied."
  },
  "field": {
   "enum": [
    "recipient",
    "sender"
   ],
   "type": "string"
  },
  "profile": {
   "enum": [
    "paypay-web-sofuri-zengin-csv-20241107"
   ],
   "type": "string"
  },
  "corporation": {
   "type": "object",
   "required": [
    "type",
    "position"
   ],
   "properties": {
    "type": {
     "enum": [
      "株式会社",
      "有限会社",
      "合名会社",
      "合資会社",
      "合同会社",
      "医療法人",
      "医療法人社団",
      "医療法人財団",
      "社会医療法人",
      "財団法人",
      "一般財団法人",
      "公益財団法人",
      "社団法人",
      "一般社団法人",
      "公益社団法人",
      "宗教法人",
      "学校法人",
      "社会福祉法人",
      "更生保護法人",
      "相互会社",
      "特定非営利活動法人",
      "独立行政法人",
      "地方独立行政法人",
      "弁護士法人",
      "有限責任中間法人",
      "無限責任中間法人",
      "行政書士法人",
      "司法書士法人",
      "税理士法人",
      "国立大学法人",
      "公立大学法人",
      "農事組合法人",
      "管理組合法人",
      "社会保険労務士法人"
     ],
     "type": "string"
    },
    "splitAt": {
     "type": "integer",
     "minimum": 1,
     "description": "Required only for middle; UTF-16 offset in the original base name."
    },
    "position": {
     "enum": [
      "prefix",
      "middle",
      "suffix"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "paid": true,
  "field": "recipient",
  "input": {
   "name": "ニホン",
   "halfwidthUnits": null
  },
  "scope": "Name field syntax and listed corporate abbreviations only; no account-name lookup or transfer guarantee.",
  "issues": [
   {
    "code": "DISALLOWED_CHARACTER",
    "message": "This character is not in the selected profile.",
    "endUtf16": 1,
    "severity": "error",
    "startUtf16": 0
   },
   {
    "code": "DISALLOWED_CHARACTER",
    "message": "This character is not in the selected profile.",
    "endUtf16": 2,
    "severity": "error",
    "startUtf16": 1
   },
   {
    "code": "DISALLOWED_CHARACTER",
    "message": "This character is not in the selected profile.",
    "endUtf16": 3,
    "severity": "error",
    "startUtf16": 2
   }
  ],
  "source": {
   "url": "https://www.paypay-bank.co.jp/business/payment/transfer-all/guide/manual.pdf",
   "pages": [
    32,
    33,
    34
   ],
   "revision": "2024-11-07"
  },
  "changes": [
   {
    "to": "ｶ)",
    "from": "",
    "reason": "EXPLICIT_CORPORATION",
    "endUtf16": 0,
    "startUtf16": 0
   },
   {
    "to": "ﾆ",
    "from": "ニ",
    "reason": "PROFILE_NORMALIZATION",
    "endUtf16": 1,
    "startUtf16": 0
   },
   {
    "to": "ﾎ",
    "from": "ホ",
    "reason": "PROFILE_NORMALIZATION",
    "endUtf16": 2,
    "startUtf16": 1
   },
   {
    "to": "ﾝ",
    "from": "ン",
    "reason": "PROFILE_NORMALIZATION",
    "endUtf16": 3,
    "startUtf16": 2
   }
  ],
  "profile": "paypay-web-sofuri-zengin-csv-20241107",
  "candidate": {
   "name": "ｶ)ﾆﾎﾝ",
   "issues": [],
   "formatValid": true,
   "halfwidthUnits": 5
  },
  "formatValid": false,
  "rulesVersion": "2026-09-30.1",
  "maxHalfwidthUnits": 30,
  "accountNameVerified": false,
  "requiresConfirmation": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/after-6-labo-japanese-bank-transfer-name-validator-zengin-ac9e17c6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from after6labo-x402.silly-detective.workers.dev](https://www.zero.xyz/host/after6labo-x402.silly-detective.workers.dev/llms.txt)
