Skip to main content

International Credit Transfers


Send and receive money almost anywhere in the world using a Swan International Credit Transfer.

With Swan International Credit Transfers, you can:

Exchange euros for a different currency, then transfer that money on either local rails or the SWIFT network.

  1. Transfer euros outside of the eurozone using the SWIFT network.
  2. Receive credit transfers initiated outside of the eurozone. You'll receive these transfers in euros as Swan doesn't store money in currency other than euros.

International Credit Transfers follow the standard credit transfer status flow with one exception: they can't have the status Upcoming.

Risk with international transfersโ€‹

International transfers can introduce more significant risk than transfers that don't cross borders or change currencies. Additionally, since more legal jurisdictions are involved, Swan International Credit Transfers must follow regulations for multiple regions.

Potential areas for increased risk and friction include: instability in the target region, diverging requirements for consent or identity documents, different reactions in the case of disputed transactions, fluctuation in currency value and exchange rate, and more.

Therefore, Swan prioritizes a risk-based approach, which applies to you and your end users. In addition to increased scrutiny in the transaction-review process, both automated and manual, Swan uses dynamic forms in the International Credit Transfer API.

Outgoing blocked countriesโ€‹

All outgoing International Credit Transfers to accounts located in the following countries are rejected.

Your users can send International Credit Transfers to accounts located in all countries not on the blocked list.

โ›” Blocked countries for outgoing transfers
  1. Belarus
  2. Burundi
  3. Central African Republic
  4. Congo (Democratic Republic of the)
  5. Cuba
  6. Guinea-Bissau
  7. Iraq
  8. Iran (Islamic Republic of)
  9. Lebanon
  10. Libya
  11. Mali
  12. Myanmar
  13. Nicaragua
  14. North Korea (Democratic People's Republic of Korea)
  15. Russian Federation
  16. Somalia
  17. Sudan
  18. South Sudan
  19. Syrian Arab Republic
  20. Turkey
  21. Venezuela (Bolivarian Republic of)
  22. Yemen

Incoming allowed countriesโ€‹

Incoming International Credit Transfers are only allowed from accounts located in the following countries.

If a country isn't on this list, incoming transfers are rejected.

โœ… Allowed countries for incoming transfers
  1. Algeria
  2. Mayotte


  1. Aruba
  2. Brazil
  3. Canada
  4. Chile
  5. Colombia
  6. Dominican Republic
  7. Guatemala
  8. Guyana
  9. Honduras
  10. Martinique
  11. Mexico
  12. Paraguay
  13. Peru
  14. United States of America
  15. Uruguay

Asia (East & West)

  1. Bahrain
  2. Hong Kong
  3. India
  4. Indonesia
  5. Israel
  6. Japan
  7. Malaysia
  8. Singapore
  9. South Korea
  10. Thailand
  11. Uzbekistan


  1. Australia
  2. New Zealand
European area
  1. Andorra
  2. Armenia
  3. Austria
  4. Belgium
  5. Cyprus
  6. Czechia
  7. Denmark
  8. Estonia
  9. Finland
  10. France
  11. Georgia
  12. Germany
  13. Greece
  14. Iceland
  15. Ireland
  16. Italy
  17. Liechtenstein
  18. Lithuania
  19. Luxembourg
  20. Malta
  21. Moldova
  22. Netherlands
  23. Norway
  24. Poland
  25. Portugal
  26. Romania
  27. San Marino
  28. Slovakia
  29. Slovenia
  30. Spain
  31. Sweden
  32. Switzerland
  33. United Kingdom of Great Britain and Northern Ireland

Currencies and feesโ€‹

Currencies and railsโ€‹

Currency codeCurrency nameAvailable railsFee group
๐Ÿ‡ฆ๐Ÿ‡บ AUDAustralian Dollaraustralian, australian_bpay1
๐Ÿ‡ง๐Ÿ‡ท BRLโˆ—Brazilian Realbrazil3
๐Ÿ‡จ๐Ÿ‡ฆ CADCanadian Dollariban1
๐Ÿ‡จ๐Ÿ‡ญ CHFSwiss Franciban1
๐Ÿ‡จ๐Ÿ‡ฑ CLPChilean Pesochile4
๐Ÿ‡ช๐Ÿ‡บ EUREuroswift_code1
๐Ÿ‡ฌ๐Ÿ‡ง GBPPound Sterlingiban, sort_code1
๐Ÿ‡ญ๐Ÿ‡ฐ HKDHong Kong Dollarhongkong, hong_kong_fps2
๐Ÿ‡ฎ๐Ÿ‡ฉ IDRIndonesian Rupiahindonesian2
๐Ÿ‡ฎ๐Ÿ‡ฑ ILSIsraeli New Shekelisraeli_local4
๐Ÿ‡ฎ๐Ÿ‡ณ INRIndian Rupeeindian, indian_upi2
๐Ÿ‡ฏ๐Ÿ‡ต JPYJapanese Yenjapanese2
๐Ÿ‡ฐ๐Ÿ‡ท KRWSouth Korean Wonsouth_korean_paygate, south_korean_paygate_business3
๐Ÿ‡ฒ๐Ÿ‡ฝ MXNMexican Pesomexican2
๐Ÿ‡ฒ๐Ÿ‡พ MYRโˆ—Malaysian Ringgitmalaysian, malaysian_duitnow2
๐Ÿ‡ณ๐Ÿ‡ฟ NZDNew Zealand Dollarnewzealand1
๐Ÿ‡ธ๐Ÿ‡ฌSGDSingapore Dollarsingapore, singapore_paynow2
๐Ÿ‡น๐Ÿ‡ญ THBThai Bahtthailand2
๐Ÿ‡บ๐Ÿ‡ธ USDUnited States Dollarfedwire_local, swift_code, aba1
๐Ÿ‡บ๐Ÿ‡พ UYUUruguayan Pesouruguay4
๐Ÿ‡ป๐Ÿ‡ณ VNDVietnamese Dongvietname_earthport2

โˆ— Currencies marked with a single asterisk can't be sent from a Swan company account.

Currency exchangeโ€‹

Transferring money internationally requires currency exchange. Think of currency exchange as the cost of selling one currency to purchase another.


Currency exchange is always charged for outgoing transfers. Swan uses a mid-market rate, or the midpoint between the buy and sell prices for the two currencies involved in a transfer, with no added spread. For outgoing International Credit Transfers, the exchangeRate is determined when a transfer is initiated.

After initiating the transfer, the exchange rate is locked for one business day, even if the market rate changes. During this time, users must provide consent to execute the transfer. If the day passes without consent, Swan no longer guarantees the exchange rate. Therefore, the transfer will be rejected and the user would need to initiate a new transfer.

Find the exchange rate, as well as fees, in the success payload of the initiateInternationalCreditTransfer mutation, as well as when consenting to the transfer.


For incoming transfers, you can view the exchangeRate in the InternationalCreditTransferTransaction type, created when the transaction is booked.

Other currency exchange information isn't available for incoming transfers.

Typically, incoming transfers arrive in euros. If Swan performs the currency exchange, the additional fees in parentheses listed in the fees table for incoming transfers are charged. For example, if Swan receives a transfer in United States Dollars, 0.6% of the received amount is charged along with the standard โ‚ฌ5 fee.


There are fees for executing international transfers according to the non-euro currency selected.

Each eligible currency is assigned to a fee group, numbered 1 through 4. Swan determined the groups based on how much it costs to execute a transfer with that currency. For example, it costs less to execute a transfer between euros and a currency in Group 1 than with a currency in Group 3. The currencies table includes the fee group for each currency.

The fees listed on this page are always paid by the Swan user.

Fee groupOutgoing transfer fee โˆ—Incoming transfer fee โˆ—โˆ—
Group 15โ‚ฌ + 0.6%5โ‚ฌ (+ 0.6%)
Group 25โ‚ฌ + 1%5โ‚ฌ (+ 1%)
Group 35โ‚ฌ + 2%5โ‚ฌ (+ 2%)
Group 45โ‚ฌ + 5%5โ‚ฌ (+ 5%)

โˆ— For outgoing transfers, an additional 5โ‚ฌ fee is charged when sending USD, GBP, and EUR through SWIFT. For these currencies, the total fee is 10โ‚ฌ + the percentage % indicated in the table.
โˆ—โˆ— For incoming transfers, the additional fee percentage (in parentheses) only applies to transfers not already converted into euros.

Fees can vary

This section shares Swan's standard pricing, which might vary based on your contract.

Fee transactionsโ€‹

Fees are charged in their own transaction.

Therefore, each International Credit Transfer creates two transactions on your transaction history: one for the transfer and one for fees. Fees and transfer transactions are created, booked, and rejected simultaneously. Both transactions have the same status.

Outgoing transfersโ€‹

Payment railsโ€‹

Initiate transfers using one of two payment rails: local or SWIFT. Choose your rail when declaring your beneficiary.

Payment railDescriptionBenefit
Local bank transfers
  • Pay beneficiaries out of a local bank account
  • Example: a transfer to the UK would be paid out of an account based in GBP already in the UK
Faster, less expensive
SWIFT network
  • SWIFT: Society for Worldwide Interbank Financial Telecommunication
  • Messaging network used by banks worldwide to send and receive financial information
  • Takes a bit longer and might involve intermediary banks
Wider availability

Outgoing transaction statusesโ€‹

Outgoing International Credit Transfers cycle through three possible transaction statuses.

PendingStatus assigned when the transfer is initiated; the transfer retains the status Pending while the transactions associated with the transfer follow the standard transaction status flow
BookedFunds arrived in the beneficiary's account
RejectedTransfer isn't executed for any of several reasons, including insufficient funds, lack of consent, and more

Rejected transactionsโ€‹

There are several reasons an International Credit Transfer might be rejected. For example, some of the account or bank details might be incorrect, the account might be closed, or a required mandate was never provided.

However, a common reason for all rejections is insufficient funds.

For all outgoing International Credit Transfers, Swan checks the account balance to make sure there is enough money to cover both the transfer amount and the fees. If there isn't enough money in the account to cover both the transfer amount and the fees, the transfer will be rejected for insufficient funds.

If a transfer is rejected, fees aren't charged. If a transfer is returned, fees are also refunded.

Outgoing sequence diagramโ€‹

API dynamic formsโ€‹

Swan's outgoing International Credit Transfer API uses dynamic forms.

Dynamic forms mean that the information requested changes based on the information you submit in each query. For example, the required information will be different for a beneficiary in India than for a beneficiary in the UK.

Integrating dynamic formsโ€‹

Dynamic forms make this feature more challenging to integrate for your custom integrations.

In your integration, you should only request the most basic information per query, as shown in the API Explorer. Specific logic is then required to retrieve the correct key/value pairs according to the information submitted in the dynamic fields.

The concept of refreshable dynamic fields is illustrated in the guide to get beneficiary information.

If they're more complex, why use dynamic forms?

Dynamic forms allow Swan to collect only required information from your end users, collected in the format of key/value pairs. Some locations require a few key/value pairs while others might require 10 or more.

Since the required information changes frequently and is outside of Swan's control, dynamic forms provide the best way to only collect the correct information, which also minimizes risk and ensures secure transactions.

Query and mutation orderโ€‹

Due to these dynamic forms, it's critical to run the queries in order before running the mutation.

  1. Optionally, get a quote.
    • This query provides a quote for the exchange rate and fees.
    • The quote isn't guaranteed.
  2. Next, get the list of required key/value pairs for your beneficiary.
    • They're based on the target currency and the beneficiary's country of residence.
  3. Then, get the list of required key/value pairs for your transaction.
    • They're based on the transfer's destination.
  4. Finally, initiate your transfer.

Incoming transfersโ€‹

Debtors can send credit transfers to Swan accounts, regardless of the debtor's account currency. Swan's existing Bank Identifier Codes (BICs) are connected to SWIFT, so Swan users don't need an additional IBAN to receive SWIFT transfers.

Standard flowโ€‹

Consider the following image:

Visual depiction of standard International Credit Transfer flow exactly as described in numbered list

  1. Debtor initiates a transfer of ยฃ1,000 (GBP) to a Swan account.
  2. Debtor's bank charges them a processing fee.
  3. Debtor's bank then passes the ยฃ1,000 to a first intermediary bank.
  4. Swan only has euro-based accounts, so intermediary bank A converts the transfer from GBP to EUR.
    • They charge a ยฃ50 fee to convert the currency.
    • They charge an additional โ‚ฌ100 (EUR) processing fee.
    • Since the transfer was initiated with shared fees, intermediary bank A deducts their fees directly from the transfer amount.
  5. Intermediary bank A then passes the transfer on to a second intermediary bank.
    • After the conversion and the fee deduction, โ‚ฌ900 remains.
  6. Intermediary bank B charges a โ‚ฌ50 processing fee and deducts it from the transfer amount.
  7. Intermediary bank B passes the transfer on to Swan.
    • After the conversion and the fee deduction, โ‚ฌ850 remains.
  8. Swan books the incoming SWIFT transfer's remaining amount (โ‚ฌ850) immediately to the Swan user's account.
  9. Swan charges a โ‚ฌ5 processing fee separately from the transfer.

SWIFT detailsโ€‹

Incoming International Credit Transfers sent on SWIFT can be sent with one of the following specifications:

  1. SHA: Splits fees between the debtor and their beneficiary. For instance, the payer might pay the fees charged by their bank and the beneficiary might pay the intermediary banks fees. The standard flow example uses SHA.
  2. BEN: All fees paid by the beneficiary by deducting them from the transaction amount.
  3. OUR: All fees paid by the debtor. Some banks might not respect this, though, so itโ€™s possible to receive an intermediary bank fee as a beneficiary anyway.

Booked transfersโ€‹

When Swan receives an incoming International Credit Transfer, Swan books it immediately and creates a InternationalCreditTransferTransaction type (step 8 in the standard flow described).

Use the transactions query with the ID for your International Credit Transfer to get information.


You can use the Transaction.Booked webhook to be notified any time a transaction is created.

"eventDate": "2023-11-22T14:25:32.133Z",
"eventType": "Transaction.Booked",
"projectId": $YOUR_PROJECT_ID,
"secret": null,
"retryCount": 0