ProofRails logoProofRailsISO Lab
ProofRails Labs / ISO 20022

See a programmable payment become an ISO 20022 artifact.

Trace one synthetic ProofRails receipt through cancellation and investigation artifacts. The mapping, XML and artifact hashes stay visible from start to finish.

receipt linked downloadable XML artifact SHA-256
Artifact lineagesample ready
●sourceProofRails receipt
5,000 USD₮0Flare
●artifact 01camt.056.001.10
CUSTXML
●evidenceSHA-256 + lineage
receipt idhash
●artifact 02camt.029.001.09
CANCAPPR
Source1 receipt
Artifacts2 XML files
Integrity2 SHA-256
Interactive trace

Run the payment record through the artifact flow.

The interaction below is fully functional in the browser. Each generation step visibly maps the receipt, serializes the XML and hashes the resulting artifact before unlocking the next stage.

PR-DEMO-20261011-001
synthetic receipt · deterministic sample
FlareUSD₮0settled
01 / source record

ProofRails payment receipt

The source record carries settlement context and evidence around the payment before an ISO artifact is produced.

confirmed
Payment
5,000.00 USD₮0
Receipt referencePR-DEMO-20261011-001
Created11 Oct 2026 · 17:20 UTC
Settlement railFlare
StatusConfirmed
Evidence context
Settlement reference0x7d31…b9a4
Evidence bundlebundle_28ad…76ce
Anchor referenceflare_91e2…0c17

Create a payment cancellation artifact from the receipt reference, creation time and selected reason code.

Map ProofRails receipt fields01
Serialize camt.056 XML02
Hash immutable artifact03
02 / generated artifact

FI-to-FI Payment Cancellation Request

The current ProofRails mapping preserves the receipt reference and timestamp and emits the selected cancellation reason.

camt.056.001.10
ProofRails receipt
referencePR-DEMO-20261011-001
created_at2026-10-11T17:20:00Z
reason_codeCUST
map →
camt.056 XML
OrgnlMsgIdPR-DEMO-20261011-001
CreDtTm2026-10-11T17:20:00Z
CxlRsnInf / CdCUST
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.056.001.10">
  <FIToFIPmtCxlReq>
    <GrpHdr>
      <MsgId>camt056-demo-001</MsgId>
      <CreDtTm>2026-10-11T17:20:00Z</CreDtTm>
    </GrpHdr>
    <Undrlyg>
      <OrgnlGrpInf><OrgnlMsgId>PR-DEMO-20261011-001</OrgnlMsgId></OrgnlGrpInf>
      <CxlRsnInf><Rsn><Cd>CUST</Cd></Rsn></CxlRsnInf>
    </Undrlyg>
  </FIToFIPmtCxlReq>
</Document>
Artifact SHA-2563b4bb1d5a1ada3a1bafb8397c0ebb0b3397e0b18d0ac4eabdca2d0c7a1f14b74

Continue the same receipt into the current ProofRails investigation-resolution artifact.

Load linked receipt reference01
Serialize camt.029 XML02
Hash investigation artifact03
03 / generated artifact

Resolution of Investigation

The second artifact remains operationally linked to the same ProofRails receipt and exposes the current output exactly.

camt.029.001.09
ProofRails receipt
referencePR-DEMO-20261011-001
created_at2026-10-11T17:20:00Z
resolution_codeAPPR
resolve →
camt.029 XML
OrgnlMsgIdPR-DEMO-20261011-001
CxlPrcgStsCANC
AddtlInfAPPR
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.029.001.09">
  <RsltnOfInvstgtn>
    <GrpHdr><MsgId>camt029-demo-001</MsgId><CreDtTm>2026-10-11T17:20:00Z</CreDtTm></GrpHdr>
    <OrgnlGrpInf><OrgnlMsgId>PR-DEMO-20261011-001</OrgnlMsgId></OrgnlGrpInf>
    <RsltnRltdInf><CxlPrcgSts>CANC</CxlPrcgSts></RsltnRltdInf>
    <AddtlInf>APPR</AddtlInf>
  </RsltnOfInvstgtn>
</Document>
Artifact SHA-256f7ba3bbc82e20ed1d29ac21cc75a6b487d3d2d7c0f48affe8d99b8f55a94ae78

The complete sample now contains one receipt and two linked ISO 20022-style artifacts.

Why this is useful

Keep the business record attached to the payment event.

A settlement tells you value moved. ProofRails keeps the operational record around that event so the same payment can feed evidence, reporting and financial-message workflows.

Payment context

Start from a structured ProofRails receipt.

Settlement reference, chain context, evidence and artifact lineage remain tied to one record instead of being reconstructed later from disconnected systems.

Financial artifacts

Produce machine-readable outputs from the same record.

The current implementation can already emit receipt-linked camt.056 and camt.029 artifacts. This lab makes that flow inspectable instead of hiding it behind an API.

Explore ProofRails

The lab is one surface of the broader ProofRails stack.

Jump from the demo into the product, technical documentation and public code.

Have a payment or interoperability workflow to deploy?

ProofRails can design and operate the infrastructure around the systems you already use.

Explore Managed Services ↗
Copied