Scope & reliance — 🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only. Embedded rates, thresholds, and regulatory citations are static reference values that may age — verify against current primary sources and your own data before relying on any output for commercial, legal, or compliance decisions. Deterministic logic · no inference · zero PII · CC BY 4.0.
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.

v1.0
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.