Tool 57 · Core Infrastructure

ISO 20022 ↔ DLT
Flow Mapper

Static reference mapping from ISO 20022 message fields to DLT parameters across R3 Corda, Hyperledger Fabric, and Hyperledger Besu. Highlights critical interoperability gaps — including the SHA-256 vs keccak256 hash incompatibility. Generates translation stub code in Kotlin, Go, or Solidity.

Zero PII · Client-Side Onlypain.001 · pacs.008 · camt.053Corda · Fabric · BesuLinks to Tool 02 · Tool 74
Mapper Configuration
Source / Target
ISO 20022 Message Type DLT Platform
Display
Highlight interoperability gaps?
🔗 Related Tools Tool 02 · ISO 20022 Parser
Tool 74 · Settlement Verifier
ISO 20022 ↔ DLT Field Mapping
Translation Stub Code

    
About This Tool · Hash Conventions

Key hash conventions: Fabric chaincode stores trHash = SHA-256(canonicalXml) where canonicalXml is the W3C Canonical XML 1.1 representation of the pacs.008 payload. The public ledger stores only this hash; the full payload is stored in the PDC_TR_DE_SA private data collection. Besu uses iso20022Hash = keccak256(canonicalXml) stored in the EurDepositToken PaymentMeta struct as meta[uetr]. These hash conventions are incompatible across platforms — rows flagged as interoperability gaps require a bridge layer to recompute the hash in the target format.

UETR field: The UETR (Unique End-to-End Transaction Reference) from pacs.008/GrpHdr/MsgId is the primary correlation key in all three platforms but is stored differently: Corda uses linearId (UUID), Fabric uses uetr as a world state key suffix, and Besu uses meta.uetr in the PaymentMeta struct.