Self-serve APIISO 20022 migrationReal-time / instant paymentsDomestic & cross-border

ISO 20022 data router. Self-serve API.

XVILAN sits between your treasury and the payment rails — scanning MX/MT103/JSON payloads, remediating addresses and BICs, and translating legacy formats into ISO 20022 pacs.008. No fixed monthly minimums. Every message is a deterministic toll.

curl — SHIELD scan
curl -X POST https://api.xvilan.com/api/v1/shield/scan \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "payload": "{mx:Pacs.008...}",
    "rail": "FEDWIRE",
    "contentType": "MX_XML"
  }'
Response:
{
  "status": "STP_READY",
  "duplicateUetrDetected": false,
  "rail": "FEDWIRE",
  "billing": {
    "service": "SHIELD",
    "chargeUsd": 50
  }
}
Endpoints

SHIELD

POST/api/v1/shield/scan

Deterministic rejection shield. Field-level ISO 20022 validation, duplicate UETR detection, STP prediction. $50 per message.

CLEANSE

POST/api/v1/shield/cleanse

Structured address + BIC remediation. 1 bps of gross USD. Absorbs the Nov 14 2026 CBPR+ structured-address cliff.

TRANSLATE

POST/api/v1/mx/translate

MT103 / MT202 / JSON to MX pacs.008 / pacs.009. Round-trip STP_READY verified. UETR generation (UUID v4). $10 per message.

HARMONIZE

POST/api/v1/mx/harmonize

In-flight CBPR+ ↔ HVPS+ dialect harmonization. BIC ↔ RTN native mapping, cross-rail tag injection. $25 per message.

Authentication

API key auth

No MSA to start. No BAA until you move money.

Every request requires an x-api-key header. Generate a key from your dashboard. Self-serve, zero sales cycle.

curl -X POST https://api.xvilan.com/api/v1/shield/scan \
  -H "x-api-key: nsk_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"payload":"...","rail":"FEDWIRE"}'
Batch scanning

POST /api/v1/shield/scan/batch

Up to 1,000 messages per request

Sweep high-volume traffic through the Rejection Shield in a single call. Returns per-message reports, STP-rate rollups, and duplicate UETR detection across the batch.

curl -X POST https://api.xvilan.com/api/v1/shield/scan/batch \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "rail": "FEDWIRE",
    "contentType": "MX_XML",
    "messages": [
      {"ref": "msg-1", "payload": "{...}"},
      {"ref": "msg-2", "payload": "{...}"}
    ]
  }'
{
  "total": 2,
  "stpRate": 0.85,
  "duplicateUetrCount": 0,
  "reports": [
    {"ref": "msg-1", "status": "STP_READY"},
    {"ref": "msg-2", "status": "REMEDIATION_REQUIRED"}
  ],
  "billing": {
    "service": "SHIELD",
    "chargeUsd": 100
  }
}
Supported rails
Domestic \u00B7 USD

Fedwire

$4.7T avg daily value
  • Real-time gross settlement (RTGS)
  • UETR mandatory on every message
  • No structured-address mandate — lower NAK surface
  • High-volume sweep target for corporate treasuries
Global \u00B7 Multi-currency

CBPR+ (Cross-Border)

Nov 14, 2026 cliff
  • Structured-address mandate — unstructured AdrLine NAKed
  • UETR (UUID v4) required on all business messages
  • pacs.008 / pacs.009 structured fields enforced
  • Pre-flight cleanse before the network rejects
FedNow and RTP instant payments also supported.
Code examples

curl

curl -X POST https://api.xvilan.com/api/v1/shield/scan \
  -H "x-api-key: nsk_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "payload": "{mx:Pacs.008...}",
    "rail": "CBPR_PLUS",
    "contentType": "MX_XML"
  }'

Node.js / fetch

const scan = async () => {
  const res = await fetch(
    'https://api.xvilan.com/api/v1/shield/scan',
    {
      method: 'POST',
      headers: {
        'x-api-key': 'nsk_live_xxxxxxxxxxxxxxxx',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        payload: '{mx:Pacs.008...}',
        rail: 'CBPR_PLUS',
        contentType: 'MX_XML',
      }),
    }
  );
  return res.json();
};
Pricing

No fixed monthly minimums. No sales cycle. Billed per message processed. The toll card is served as a public JSON endpoint at GET /api/v1/pricing.

SHIELD
$50
per message
Rejection Shield scan
CLEANSE
1 bps
of gross USD
Address + BIC remediation
TRANSLATE
$10
per message
MT103 / JSON to MX pacs.008
HARMONIZE
$25
per message
CBPR+ ↔ HVPS+ dialect harmonization

Start scanning today. No sales call required.

Try the free scan (no API key needed, 10 scans/min/IP) or request a demo for enterprise onboarding.