# ISO 11649 RF Creditor Reference Validator & Generator

> ISO 11649 RF Creditor Reference Validator & Generator is a paid API for AI agents from 402utils.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-13).

Validates an existing ISO 11649 RF creditor reference (SEPA structured reference) or generates a new one from a raw reference string, using ISO 7064 mod 97-10 checksum logic.

## Facts

- Endpoint: GET https://402utils.com/v1/rf-reference
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/iso-11649-rf-creditor-reference-validator-generator-d4d4dbfd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OmmvgopWc38c4Sm0uopdJ

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 iso-11649-rf-creditor-reference-validator-generator-d4d4dbfd
```

Example prompt: Can you validate the RF creditor reference RF18539007547034 for me — check the checksum and format, and give me the print-formatted version with grouped digits?

## When to prefer this

Use this endpoint when you need to validate or generate ISO 11649 RF creditor references (SEPA structured references) as part of invoice processing, payment automation, or financial compliance workflows. Prefer it over general IBAN or VAT validators when the specific task involves RF creditor reference check digits. The optional Ed25519 attestation makes it suitable for audit-trail requirements.

## Known failure modes

- Missing both ref and generate parameters — returns error indicating exactly one is required
- Invalid characters in ref or generate input (non-alphanumeric) — returns format error
- RF reference with wrong checksum — returns valid:false with details
- Raw reference longer than 21 characters — returns length validation error
- Malformed RF prefix (not starting with RF) — returns format error

## How this service works

ISO 11649 RF creditor reference (SEPA structured reference) — validate or generate. ?ref=RF18539007547034 checks the ISO 7064 mod 97-10 checksum and format (RF + 2 check digits + up to 21 alphanumerics); ?generate=539007547034 computes the check digits and returns the full RF reference with print formatting. Complements iban-check and vat-check for SEPA invoicing agents. Purely local, instant.

## Output

Returns a JSON object with mode ('validate' or 'generate'), the normalized full RF reference, a validity boolean, the extracted bare creditor reference, the two check digits, a grouped print-formatted version (blocks of 4), and optionally an Ed25519-signed attestation payload for audit trails.

## 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",
     "properties": {
      "ref": {
       "type": "string",
       "description": "An RF reference to validate, e.g. RF18539007547034 (spaces tolerated)."
      },
      "attest": {
       "type": "string",
       "description": "Set to 1 for an Ed25519-signed attestation of the result (audit trail)."
      },
      "generate": {
       "type": "string",
       "description": "A raw reference (1-21 chars, A-Z/0-9) to wrap into an RF reference."
      }
     },
     "description": "Exactly one of `ref` (validate) or `generate` (create)."
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "mode",
      "valid",
      "ref",
      "reference",
      "checkDigits",
      "formatted"
     ],
     "properties": {
      "ref": {
       "type": "string",
       "description": "Normalized full RF reference."
      },
      "mode": {
       "type": "string",
       "description": "'validate' or 'generate'."
      },
      "valid": {
       "type": "boolean"
      },
      "formatted": {
       "type": "string",
       "description": "Groups of 4 (presentation format)."
      },
      "reference": {
       "type": "string",
       "description": "The bare creditor reference inside."
      },
      "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"
          },
          "resul
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ref": "RF18539007547034",
  "mode": "validate",
  "valid": true,
  "formatted": "RF18 5390 0754 7034",
  "reference": "539007547034",
  "checkDigits": "18",
  "formatValid": true,
  "checksumValid": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/iso-11649-rf-creditor-reference-validator-generator-d4d4dbfd/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)
