# Code402 Public Services — Validation, Data & XDR-1 Receipts (`code402/code402-global-identifier-verifier`) Actor

Access all live Code402 public services: identifier checks, market and chain data, ISO 20022 utilities, reconciliation, and free XDR-1 receipt verification. Dynamic schemas and pricing. Non-custodial; no payment signing, ownership, or sanctions-clearance claims.

- **URL**: https://apify.com/code402/code402-global-identifier-verifier.md
- **Developed by:** [Drsarat J](https://apify.com/code402) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 paid service deliveries

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Code402 Public Services — Validation, Data & XDR-1 Receipts

Use the complete public Code402/HCRB service catalog through one Apify Actor. The catalog is loaded dynamically from `https://hcrb.in/.well-known/mcp.json`; it is not a hardcoded subset.

Operated by **JUANA LIMITED** (UK Company No. `14043409`). Service origin: `https://hcrb.in`.

### What you can do

- **List every public service** with its current description, JSON input schema, and examples.
- **Run an eligible free evaluation** of any public `/v1/tools/*/call` service.
- **Execute a paid service** with exactly one customer-supplied credential: a prepaid Bearer key, an x402 v2 `PAYMENT-SIGNATURE`, or a legacy `X-PAYMENT` authorization.
- **Verify an XDR-1 receipt free** through the public receipt-verification endpoint.

The catalog includes deterministic identifier checks, market and chain data, ISO 20022 utilities, reconciliation, and related public services. Availability, schemas, and prices are determined by the live catalog rather than this README.

### Start here: list all services

```json
{
  "mode": "list_services"
}
```

Each returned row contains `name`, `tool`, `description`, and `inputSchema`. Use the `tool` value and schema examples for subsequent calls.

### Run a free evaluation

```json
{
  "mode": "offline_precheck",
  "tool": "iban-check",
  "payload": {
    "iban": "GB82WEST12345698765432"
  }
}
```

A `200` response reports the actual result and whether a signed receipt was included. A `402` response is only a payment challenge; it is never reported as a delivered or valid result. Free eligibility is controlled by the live service.

### Execute a paid service

Use the input schema returned by `list_services`, then provide exactly one credential.

Prepaid Bearer key:

```json
{
  "mode": "paid_tool_call",
  "tool": "swift-bic-check",
  "payload": { "bic": "DEUTDEFF" },
  "bearerToken": "ck_live_YOUR_KEY"
}
```

x402 v2 authorization:

```json
{
  "mode": "paid_tool_call",
  "tool": "swift-bic-check",
  "payload": { "bic": "DEUTDEFF" },
  "paymentSignatureHeader": "BASE64_X402_V2_AUTHORIZATION"
}
```

The Actor does not create payment authorizations, hold wallets, sign transactions, or settle funds. It only forwards the credential you supply to the existing service. Always approve the exact network, asset, amount, payee, and expiry in the live challenge using your own client and budget policy.

**Charges are separate:** a successful `paid_tool_call` delivery triggers one Apify `code402-paid-service-delivery` event. The upstream Code402 service may also charge the credential you supply; review the current Apify event price and the upstream live quote before running. Catalog listing, free evaluation, `402` challenges, failed calls, and receipt verification do not trigger this custom event.

### Instant Prepaid Keys & ISO 20022 Batch Cure (No Crypto Wallet Required)

Provision a `ck_live_...` Bearer token by card or run a batch validation directly at `https://hcrb.in`:

- **Verify Card for £0.00 (25 Free Calls + Instant `ck_live_` Key)**: `https://hcrb.in/checkout?plan=verify_card_free`
- **10,000-Call Micro Key (£12 / $15)**: `https://hcrb.in/checkout?plan=developer_micro_15`
- **2,500-Row Batch Key (£55 / $69)**: `https://hcrb.in/checkout?plan=enterprise_batch_69`
- **500-Row ISO 20022 `pain.001` & CSV Address Cure Workbench (£79 / $99)**: `https://hcrb.in/batch-cure`
- **Done-For-You Batch Validation Run ($250, Paid on Delivery)**: `https://hcrb.in/subscribe/start?plan=batch-validation-run`
- **Enterprise Corridor Guard (£399 / $499 — 75,000 Live Verifications)**: `https://hcrb.in/checkout?plan=operator_pro_499`

### Verify a receipt free

```json
{
  "mode": "verify_receipt",
  "payload": {
    "receipt": {
      "v": "XDR-1"
    }
  }
}
```

Supply the complete receipt object in real use. Verification remains free.

### Scope and security

- Strictly non-custodial: JUANA LIMITED and this Actor do not receive, hold, or transmit customer funds.
- Credentials are marked secret in the input schema and are never included in Actor output.
- Results establish only what the selected check or data source returned at call time. They do not establish account ownership, beneficiary identity, absence of fraud, or comprehensive sanctions clearance.
- No uptime percentage, accuracy guarantee, revenue projection, or service-level guarantee is offered.

# Actor input Schema

## `mode` (type: `string`):

List every public service, run a free evaluation where eligible, execute a paid service with one credential, or verify an XDR-1 receipt free.

## `tool` (type: `string`):

Any tool slug returned by list_services, such as iban-check, crypto-ticker, iso20022-validate, or reconcile. The catalog is read dynamically from https://hcrb.in/.well-known/mcp.json.

## `payload` (type: `object`):

Input fields for the selected public tool. Use the inputSchema and examples returned by list_services. For verify_receipt, supply { "receipt": { ... } }.

## `bearerToken` (type: `string`):

One prepaid Code402 Bearer token for paid_tool_call mode. Do not combine it with a payment header.

## `paymentSignatureHeader` (type: `string`):

One x402 v2 payment authorization for paid_tool_call mode. The Actor forwards it as PAYMENT-SIGNATURE and never signs or settles payments itself.

## `xPaymentHeader` (type: `string`):

Legacy compatibility field. Prefer paymentSignatureHeader for x402 v2. Do not combine credentials.

## Actor input object example

```json
{
  "mode": "list_services",
  "tool": "iban-check",
  "payload": {
    "iban": "GB82WEST12345698765432"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

One row per discovered service, or one execution result.

## `outputRecord` (type: `string`):

The complete execution summary, including HTTP status, verdict, receipt metadata, or full service catalog.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("code402/code402-global-identifier-verifier").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("code402/code402-global-identifier-verifier").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call code402/code402-global-identifier-verifier --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,code402/code402-global-identifier-verifier"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/YMrvcWsUb2ICgosv0/builds/fKSxdr3iaXYTNxBNH/openapi.json
