Identify the original pacs.008 instruction via its EndToEndId or InstrId; retrieve the original transaction reference from your payment records
Construct a camt.056 FIToFI Payment Cancellation Request XML message with the original group header reference, the cancellation reason code (e.g., DUPL for duplicate, FRAD for fraud), and the original instruction identification fields
Submit the camt.056 to your correspondent bank's ISO 20022 channel (FileAct or API endpoint) and record the CancellationId for tracking
Await the camt.029 Resolution of Investigation message from the receiving bank; parse the Status field — CNCL (cancelled), RJCR (rejected), or PDCR (pending) — and update your payment record
If RJCR is received, parse the RejectionReason element for the specific code (e.g., NOAS for no original transaction found) and escalate to manual investigation
Implement a timeout handler: if no camt.029 is received within the agreed SLA window, escalate the investigation to your correspondent bank's operations team via a separate channel
Known gotchas
camt.056 can only cancel a payment that has not yet been settled with finality; after Fedwire or RTGS settlement, a cancellation requires a manual recall and the receiving bank has no obligation to return funds
The CancellationId in camt.056 must be globally unique and is used to correlate the camt.029 response; reusing IDs across attempts will cause mismatched resolutions
Some corridors require the cancellation reason code to match a pre-agreed list; using an unsupported reason code may cause the camt.056 to be rejected at the message validation layer before reaching the receiving bank
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp