SWIFT MT103 Field 23B — Bank Operation Code

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 →

Payment Tracker

LIVE

Paste your UETR — we query the SWIFT GPI network in real time.

36-character UUID from your MT103 field 121 or pacs.008 <UETR> tag. Where to find it →

Receive your tracking result instantly after search
If not found, we’ll monitor for 7 days and alert you
No account needed — one-click unsubscribe
2
Trusted by 2M+ users monthly  ·  No account or card required
Encrypted | SWIFT Network Coverage | Real-time GPI
SWIFT MT103 message diagram showing fields 20, 32A, 50K, 59, 70 and 121 (UETR)
How an MT103 maps to the UETR (field 121), sender reference (field 20), value-date/currency/amount (field 32A) and beneficiary details. Source: SWIFT MT103 specification.

Details

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.

Quick facts

SWIFT field specification
Example value:23B:CRED
Valid characters / format4!c bank operation code
Required on MT103Mandatory
Required on MT202Not used
Required on pacs.008Optional
NotesCRED / CRTS / SPAY / SPRI / SSTD.

Key facts

Frequently asked questions

Which 23B code is used most?

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.

Can I request SPAY or SPRI for faster processing?

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.

What happens if field 23B contains an invalid code?

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.

Is field 23B visible on my bank statement or payment receipt?

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.

How does field 23B relate to payment priority?

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.

Get 100 free credits — track unlimited SWIFT payments

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 →
ExploreSWIFT trackerUETR trackerCurrency exchange ratesUSD → EUR rateGBP → USD rateEUR → GBP rateUSD → JPY rateWestern Union MTCN trackerMoneyGram reference trackerRia PIN trackerRemitly trackerXoom / PayPal trackerWorldRemit trackerWise trackerRevolut trackerOFX trackerZelle trackerVenmo trackerCash App trackerPayoneer trackerSkrill trackerNeteller trackerInstarem trackerTRN trackerDraft & validate hubMT ↔ MX translatorMX → MT translator@ohmyfin/swift-draft (npm)MT103 drafterMT202 drafterMT202COV drafterMT199 drafterpacs.008 drafterpacs.009 drafterpacs.002 draftercamt.053 draftercamt.054 drafterMT103 trackerWire-transfer trackerSWIFT GPI trackerBIC lookupIBAN explainedUETR explainedTRN explainedBIC explainedMT103 guideMT202 guidepacs.008 guideField 20Field 32AField 50KField 57AField 121 (UETR)Track USDTrack EURTrack GBPTrack CNYTrack INRSWIFT vs SEPASWIFT vs ACHSWIFT vs WiseUETR vs TRNBIC vs IBANMT103 vs pacs.008How long: UKHow long: USHow long: IndiaHow long: EurozoneStatus: ACSPStatus: ACCCStatus: RJCTStatus: PDNGSWIFT GPISWIFTNetOhmyfin AI AssistantSWIFT status todayBank trackersTrack HSBCTrack ChaseTrack BarclaysTrack NatWestTrack WiseTrack RevolutAsk: How to track SWIFTAsk: UETR not foundAsk: Stuck 2 weeksAsk: Get UETR from bankAsk: Is Ohmyfin freeAlliance AccessAlliance GatewaySWIFT GoKYC RegistryAbout swift.comSWIFT productsCurrency guidesPayment comparisonsPayment speedStatus codesSWIFT field referencePayments glossarySWIFT message typesSWIFT/BIC directoryCorrespondent banksKnowledge centerReject codesAC01 rejectAC04 rejectBE01 rejectCH09 rejectRR04 rejectHelp & troubleshootingPayment not receivedFind UETR on MT103Cancel SWIFT paymentFake MT103 warningMajor banksJPMorgan Chase BICHSBC BICDeutsche Bank BICCiti BICBNY Mellon BICCountry corridorsSend US → IndiaSend US → MexicoSend US → PhilippinesSend UK → IndiaSend UK → PakistanSend UAE → IndiaSend UAE → PhilippinesSend Saudi → IndiaSend Canada → IndiaSend Australia → IndiaMT message referenceMT202COVMT199MT940MT942MT900MT910MT195MT103 STPBanks by countryBanks in USBanks in UKBanks in GermanyBanks in IndiaBanks in ChinaBanks in UAEBanks in Saudi ArabiaBanks in SingaporeBanks in Hong KongBanks in JapanBanks in BrazilUse casesFreelancer paid abroadPay overseas supplierE-commerce payoutsTuition paymentReal estate abroadFamily remittanceScam alertsFake MT103 fraudMoney-transfer providersTrack WiseTrack RevolutTrack Western UnionTrack MoneyGramTrack RemitlyTrack RiaTrack XoomTrack WorldRemitTrack PayoneerTrack PayPalTrack OFXTrack SkrillTrack SendwaveTrack InstaremTrack TransferGoTrack Stripe payoutTrack AirwallexTrack HSBC Global MoneyTrack Monzo / Revolut / N26Wise vs RevolutWise vs PayPalWise vs Western UnionWise vs bank wireWestern Union vs MoneyGramRemitly vs Western UnionSend money to IndiaSend money to PhilippinesSend money to MexicoSend money to NigeriaSend money to PakistanSend money to UKAdvance-fee fraudBEC / CEO fraudPig butchering scamRomance scam wire