What Is SWIFT & How Does It Work? (Banking Introduction)


SWIFT is a telecommunications network that only banks and certain financial institutions are allowed to join (it has over 11,000 members in over 200 countries). The SWIFT network & its messaging standards are maintained by a non-governmental legal entity (S.W.I.F.T. SC) — a cooperative co-owned by its member banks & institutions and organized under Belgian law. The cooperative sells products and services to its member financial institutions, mostly related to use of its proprietary “SWIFTNet” (the actual implementation of the SWIFT network) and Business Identifier Codes (BICs). You can read about the history of when and why the SWIFT coop was formed and what technology SWIFTNet replaced here.

How is S.W.I.F.T. SC Regulated?

Because SWIFTNet is only a messaging system used to describe what money transfers have happened or will happen rather than a system to actually implement those money transfers, the SWIFT cooperative is not regulated as a payments or bank company. However, due to SWIFTNet’s critical role in the global economy, the SWIFT coop is still subject to oversight (and therefore control) by several central banks. The National Bank of Belgium (NBB) acts as the lead overseer, supported by the G-10 central banks. In addition, the SWIFT Oversight Forum provides the central banks of many other countries an avenue to exert more limited control and influence over SWIFT.

What is a SWIFT Code (BIC)?

Every bank on the SWIFT network is identified with a BIC (standardized under ISO 9362) that is either 8 or 11 characters. The terms BIC, BIC code, and SWIFT code are all equivalent terms that mean exactly the same thing and can be used interchangeably.

BICs have a structure: the first 4 characters (only English letters from A-Z) identify the bank and are usually closely related to the bank’s name or an abbreviation of the bank’s name (e.g. the first 4 characters of Chase Bank’s BIC are “CHAS”).

The next 2 characters of a BIC (also only letters) are the country code, identifying which country the bank is located in (e.g. “US” for the U.S., “GB” for the UK, or “RU” for Russia). It’s interesting to note that banks which operate internationally actually operate as different entities in each country, so e.g. when sending money to an HSBC bank in the U.S., sender banks would use a different BIC than if they were sending money to an HSBC UK bank.

The next 2 characters of a BIC (letters or numbers form 0-9) are the city location code for the bank’s main head office.

Finally, a BIC may or may not have an additional 3 characters (letters or numbers) to identify a specific bank branch office to be used instead of just the national office of the bank.

Note: Sometimes people confuse IBAN (International Bank Account Number) with BIC, but the two are NOT the same thing. BICs identify banks whereas IBANs identify accounts at a bank. Additionally, people sometimes confuse BICs with ABA (American Banker Association) Routing Numbers, but the two are separate and distinct numbers. ABA Routing Numbers are used for U.S. domestic wire transfers, and BICs are used for international wire transfers.

How does SWIFT messaging work?

The purpose of a network is communication, and the purpose of the SWIFT network, in particular, is to enable communication about money and the movement of money. To accomplish this, SWIFTNet actually comprises four separate communication channels:

  1. FIN (which enables the transmission of messages formatted according to the traditional SWIFT MT standards)
  2. InterAct (which enables the transmission of messages formatted according to the newer XML-based SWIFT MX standards)
  3. FileAct (which enables the secure, reliable transfer of files — it is mostly used to transfer large batches of messages such as bulk payment files, very large reports, or operational data)
  4. Browse (which, together with the previously mentioned channels, enables SWIFTNet users to securely browse financial websites available on SWIFTNet using standard internet protocols & languages such as HTTP-S and HTML)

Let’s dive a bit deeper into how each of these channels actually works.

What is SWIFT FIN?

SWIFT FIN is a communication protocol that can be used by SWIFTNet users. Every FIN message must be formatted as one of the “MT” formats. These formats are similar (but not identical) to the formats codified in ISO 15022 part 1 and part 2. Unfortunately, there is no free access to these standards, and if you are developing a banking or fintech tool that uses SWIFT then you’ll likely need to purchase them. However, you can find a pretty substantial overview of MT messages here, and I’ll also provide a more concise summary below.

There are nine proper categories of MT messages, each with a finite number of message types, and there is an additional category of “system messages” which is often designated “category zero”. Each category corresponds to a particular subset of the financial services industry, as shown in the table below.

CategoryMessage DesignationsDescriptionNumber of message types
0MT0xxSystem messages
1MT1xxCustomer payments and checks19
2MT2xxFinancial institution transfers18
3MT3xxTreasury markets27
4MT4xxCollection and cash letters17
5MT5xxSecurities markets60
6MT6xxTreasury markets — metals & syndications22
7MT7xxDocumentary credits & guarantees29
8MT8xxTraveller’s checks11
9MT9xxCash management and customer status21
SWIFT MT message types & categories

You can find an enumeration of the specific types from each category on this unofficial page, however, the SWIFT coop makes changes from time to time to message formats so ensure you check the official paid SWIFT MT documentation if you plan to develop a fintech tool that interacts with SWIFT.

Each SWIFT MT message consists of the text literal “MT” followed by five blocks of data: three headers, message content, and a trailer.

Example: MT103 (“Single Customer Credit Transfer”)

MT103 is the SWIFT message type used by financial institutions to signal an international/cross-border wire transfer. Every MT103 has a number of data fields in its main message data block which are labeled with alphanumeric “tags”. Each field’s tag, together with a short description of what the data value represents, is provided in the table below (don’t expect to understand the meaning of each field name — just appreciate the parts you can understand for now).

TagField Name
20Transaction reference number (sender’s reference)
13CTime indication
23BBank operation code
23EInstruction code
26TTransaction type code
32AValue date / currency / interbank settled amount
33BCurrency / original instructed amount
36Exchange rate
50A, F or KOrdering customer (payer) or address of the remitter
51ASending institution
52A or DOrdering institution
53A, B or DSender’s correspondent (bank)
54A, B or DReceiver’s correspondent (bank)
55A, B or DThird reimbursement institution (bank)
56A, C or DIntermediary institution (bank)
57A, B, C or DAccount with institution (bank)
59 or 59ABeneficiary customer 4×35
70Remittance information
71ADetails of charges (OUR/SHA/BEN)
71FSender’s charges
71GReceiver’s charges
72Sender to receiver information
77BRegulatory reporting
MT103 message fields (tags)

Not all fields are well-typed, but there are at least recommended best practices for the fields. For instance, tags 52-57 should preferrably have values which are ISO 9362 BICs, tags 50 and 59 should preferrably have values that are either BICs or account numbers, and account numbers are to be in either IBAN or BBAN format.

What is SWIFT InterAct?

The SWIFT FIN protocol together with its MT messages based around ISO 15022 are imperfect. SWIFT InterAct is a next-generation protocol that uses XML-based “MX” messages based around the ISO 20022 standard. InterAct & MX messages improve on FIN & MT messages in four ways: richer data can be transmitted & exchanged, increased robustness reduces the number of instances when manual intervention is needed, regulatory compliance is easier, and consistency amongst how the protocol is used by different institutions is designed to be higher with MX than MT messages.

MX is the future of SWIFT and it is expected that many participating banks will migrate largely or entirely to using MX messages during a protocol transition scheduled for November 2022.

SWIFT has provided an detailed PDF with equivalence tables for MT and MX messages. For full information, you’ll need a SWIFT website account to get access to the SWIFT knowledge center with complete official documentation.

What is SWIFT FileAct?

SWIFTNet FileAct is a protocol for transmitting bulk files in any combination of the various formats that banks may use for wire transfers, ACHs, or other protocols, without needing to go outside of SWIFTNet’s highly secure internet-based network. For example, you can read a short report about the various ways PNC bank uses FileAct in this document.

What is SWIFT Browse?

Browse is a bundle of products offered by the SWIFT coop to enable more general secure communication between SWIFT network members beyond the structured messages of FIN or InterAct. SWIFT Browse makes use of Alliance WebStation (a desktop app serving as an interface) and various other products to enable secure web-based browsing of websites enabled on SWIFTNet.

Ricky Nave

In college, Ricky studied physics & math, won a prestigious research competition hosted by Oak Ridge National Laboratory, started several small businesses including an energy chewing gum business and a computer repair business, and graduated with a thesis in algebraic topology. After graduating, Ricky attended grad school at Duke University in the mathematics PhD program where he worked on quantum algorithms & non-Euclidean geometry models for flexible proteins. He also worked in cybersecurity at Los Alamos during this time before eventually dropping out of grad school to join a startup working on formal semantic modeling for legal documents. Finally, he left that startup to start his own in the finance & crypto space. Now, he helps entrepreneurs pay less capital gains tax.

Recent Posts