Last reviewed: · Curated by Ohmyfin Organisation editorial.
Field 23B is the Bank Operation Code on an MT103. It is mandatory and must contain one of five codes that tell the receiving bank how to process the payment. Draft an MT103 with the right operation code →

The five valid codes for field 23B are: CRED (normal credit transfer — by far the most common code, used for virtually all standard cross-border customer payments); CRTS (credit transfer involving a test key — used in test messages between banks to verify key-exchange systems, not in live customer payments); SPAY (same-day priority value payment service — a premium service agreed bilaterally between specific bank pairs); SPRI (priority payment service — similar to SPAY, reserved for banks with a bilateral priority-service agreement); SSTD (standard payment service — a lower-priority service tier, rarely used).
CRED is the only code that most payment teams will ever encounter in practice. The codes SPAY, SPRI, and SSTD relate to bilateral service-level agreements (SLAs) that banks negotiate individually — they are not globally available on demand and can only be used when both the sending and receiving bank have agreed to support that service tier in their bilateral correspondent agreement. Using a non-CRED code without the appropriate bilateral agreement will result in the payment being rejected or reclassified.
Field 23B is mandatory and exactly 4 characters. Unlike field 20 (which has variable length), field 23B has no flexibility in format — it must be exactly one of the five valid four-character codes. If a bank system generates a non-standard value in field 23B, the message will be rejected at the SWIFT gateway with a validation error.
In ISO 20022 pacs.008, there is no exact equivalent of field 23B. The concept of "how to process this transfer" is handled differently — through the payment type information (PmtTpInf) element, which carries a service level code (SvcLvl), a local instrument (LclInstrm), and a category purpose (CtgyPurp). SEPA Credit Transfer uses a service level code of SEPA under the EPC scheme rulebook. These ISO 20022 structures provide much richer classification of the payment type than the five-code field 23B.
When Ohmyfin decodes a SWIFT message, the field 23B code is used to categorise the payment type in the tracking display. A CRED code is displayed as a standard customer credit transfer. In the rare case that SPAY or SPRI appears, Ohmyfin notes the elevated priority. CRTS payments are test messages and are filtered from the live tracking display — only authenticated live payments with CRED or equivalent codes are shown in the Ohmyfin tracker.
| Example value | :23B:CRED |
|---|---|
| Valid characters / format | 4!c bank operation code |
| Required on MT103 | Mandatory |
| Required on MT202 | Not used |
| Required on pacs.008 | Optional |
| Notes | CRED / CRTS / SPAY / SPRI / SSTD. |
CRED — standard customer credit transfer. It is used in effectively all cross-border customer payments. SPAY and SPRI are reserved for premium same-day services agreed bilaterally between specific banks. CRTS is for bank-to-bank test messages. SSTD is rarely used.
Only if your bank has a bilateral SPAY or SPRI agreement with the receiving bank. These codes are not globally available on demand. Ask your bank's international payments team whether SPAY or SPRI applies to your specific payment corridor. For most same-day urgent payments, your bank will simply use CRED with a priority flag in block 2.
The SWIFT message will be rejected at the sending bank's SWIFT gateway or at the receiving bank's gateway with a validation error. The message will not enter the payment chain until the code is corrected and the message is re-sent.
No — field 23B is a bank-to-bank operational code and is not shown to customers on statements or receipts. The Ohmyfin tracker does not display it in the customer-facing status view but it is used internally to classify the payment.
Field 23B contributes to payment prioritisation, but the main priority indicator in an MT103 is in block 2 (the application header) — specifically the Priority/Delivery subfield (N=Normal, U=Urgent, S=System). SPAY and SPRI in field 23B add an additional bilateral priority layer on top of the block 2 priority flag.
No card needed. Free for ordinary users — completely free for individuals — no daily limit, no card required. Track any international wire across 11,000+ banks.
Track a payment now — completely free Or try the tracker now →