Hidden fees in international wires: OUR, SHA, BEN, and a 7-point quote audit

Why suppliers get short-paid on international wires: SWIFT charge codes, intermediary deductions, and FX markups. Plus a 7-step audit for any quote.

Hidden fees in international wires sit in three places: deductions by intermediary banks, fees charged by the recipient's bank, and an FX markup built into the exchange rate. The SWIFT charge code, OUR, SHA, or BEN, decides who pays the bank fees. Compare quotes on the amount that lands, not the headline fee. BlindPay quotes show the market rate and the rate you get side by side.

Key takeaways

  • Every SWIFT payment carries a charge code in field 71A of the MT103 message: OUR (sender pays), SHA (shared), or BEN (beneficiary pays).
  • With SHA or BEN, correspondent banks can deduct their fees from the payment itself, so the supplier is short-paid.
  • The FX markup is usually the largest hidden cost, and it rarely appears as a number on the quote.
  • Banks are the most expensive channel in the World Bank's price data, at 14.99% on a $200 transfer, against a 6.36% global average.
  • A quote that shows the mid-market rate, every fee line, and a guaranteed amount received is the standard to ask for.

What are hidden fees in an international wire?

Hidden fees are costs you pay but don't see on the quote: deductions by banks in the middle, charges by the recipient's bank, and the markup inside the exchange rate. They're legal and common. They're just not disclosed upfront.

A wire is a single instruction, but it travels through several banks. Your bank charges you a sending fee. Then the payment may pass through one or two correspondent banks, which hold accounts with each other to move money between countries. Then the recipient's bank credits the account. Each of those banks can charge, and only the first one is on your quote.

The scale is real. The World Bank's Remittance Prices Worldwide report (Issue 54, Q3 2025 data) found banks were the costliest type of provider at 14.99% of a $200 transfer, against a global average of 6.36%. How much cross-border payments cost in 2026 has the corridor-by-corridor numbers.

What do OUR, SHA, and BEN mean?

OUR, SHA, and BEN are the three values of field 71A, "Details of Charges," in a SWIFT MT103 customer payment message. The field is mandatory, so every SWIFT wire carries one of them.

Swift's MT103 standard, as reproduced in Millennium bcp's MT103 manual, defines them like this:

CodeSwift definitionWhat it means in practice
OURAll transaction charges are to be borne by the ordering customerThe sender pays every bank's charges, usually through a surcharge. The supplier should get the full amount
SHACharges on the Sender's side are borne by the ordering customer; charges on the Receiver's side are borne by the beneficiary customerThe sender pays their own bank. Intermediary and receiving bank charges come out of the payment
BENAll transaction charges are to be borne by the beneficiary customerEvery bank's fee, including the sender's bank, is deducted from the amount

Two companion fields show what was actually charged. Field 71F lists sender's charges deducted along the way, and field 71G shows receiver's charges prepaid by the sender. Under the standard's rules, BEN requires at least one 71F entry, SHA allows 71F but not 71G, and OUR allows 71G but not 71F.

So if a supplier says they were short-paid, ask your bank for the MT103 and read fields 71A, 71F, and 71G. The answer is usually there.

Is SHA the default?

On many bank platforms, yes, SHA is the default option. Within the EU, it's effectively the rule. The EU Payment Services Directive (PSD2), Article 62(2), requires that when both payment providers are in the EU, the payer pays their provider's charges and the payee pays theirs. Article 81 also bars intermediaries from deducting charges from the amount transferred on those payments.

Outside that scope, deductions are normal. A US company paying a supplier in Asia or Latin America by SWIFT should expect them unless it chose OUR. This is for information only and is not legal advice.

Where else do hidden costs hide?

Beyond the charge code, four more costs can come out of an international wire: the FX markup, receiving-bank fees, surcharges billed after the fact, and the cost of a returned payment.

  • FX markup. Whoever converts the currency sets the rate. The gap between that rate and the mid-market rate is a percentage of the full amount. If your bank sends dollars and the recipient's bank converts them, the markup is set by a bank you never talked to.
  • Lifting fees and incoming charges. Some receiving banks charge a commission to credit an incoming foreign payment. It's often called a lifting fee. The sender never sees it.
  • Charges claimed later. Under OUR, a bank in the chain can ask the sending bank to pay its charges after the payment. Swift even has a message type for it, the MT191 request for payment of charges. Those can land on your statement weeks later.
  • Repairs and returns. A wrong beneficiary name or missing field can bounce a wire. Banks often charge to investigate or return it, and the returned amount can come back at a different exchange rate.

Correspondent banking vs stablecoin liquidity explains why each extra bank in the chain adds cost.

How does a SHA wire short-pay a $25,000 invoice?

Here's how a SHA wire short-pays a supplier. All numbers are illustrative, not taken from any specific bank.

Assumptions: a US company pays a $25,000 invoice to a supplier with a USD account abroad. The wire goes as SHA. The sending bank charges $45. Two correspondent banks deduct $25 and $15. The supplier's bank charges a $20 incoming fee.

StepAmountWho pays
Sending bank fee$45Sender, billed separately
Amount leaving the sending bank$25,000
First correspondent deduction-$25Supplier
Second correspondent deduction-$15Supplier
Receiving bank incoming fee-$20Supplier
Amount credited to the supplier$24,940

The supplier is $60 short and marks the invoice as unpaid. Someone now spends an hour on emails to settle $60. Multiply that by every supplier, every month.

Now add conversion. If the supplier's account is in local currency and their bank converts at 2% below the mid-market rate, that's another $499 on the remaining $24,940. The visible fee was $45. The total cost was about $604.

How do you audit a cross-border quote in 7 steps?

Audit a quote by comparing what lands in the recipient's account against what the mid-market rate says it should be, with every fee counted. These seven steps work for banks, fintechs, and stablecoin providers alike.

  1. Get the mid-market rate and the offered rate. Note the mid-market rate when you request the quote, from a market data source or a central bank reference rate. Example: mid-market 18.50 MXN per USD, offered 17.95.
  2. Compute the spread. Spread % = (mid-market rate minus offered rate) / mid-market rate x 100. Example: (18.50 minus 17.95) / 18.50 = 2.97%, or $297 on $10,000.
  3. List every fee line. Sending fee, OUR surcharge, network fee, receiving fee. Example: $45 sending fee plus a $25 OUR surcharge is $70 before any conversion.
  4. Ask who can deduct from the amount. Ask for the charge code and whether intermediary or receiving banks can still take fees. Example: "SHA, intermediaries may deduct" means the supplier will get less than the invoice.
  5. Confirm the amount the recipient gets. Ask for the exact figure in the recipient's currency and whether it's guaranteed. Example: "Recipient receives 179,500 MXN, guaranteed" beats "approximately 179,000 MXN."
  6. Check how long the quote is locked. A rate that expires before you approve isn't a price. Example: a 5-minute lock is fine for an automated payout; a rate "indicative until execution" isn't locked at all.
  7. Test it on your real corridor and size. Send one real payment on your most common corridor and amount. Example: compare the supplier's credited amount with step 5, then decide.

The FX math in steps 1 and 2 is the step most teams skip. Stablecoin API quotes explained covers expiry and fee direction in more detail.

What should a transparent quote show?

A transparent quote shows the market rate, the rate you get, every fee, who pays each fee, the exact amount received, and when the price expires. If any of those are missing, the cost is hidden somewhere.

LineTransparent quoteOpaque quote
Exchange rateMid-market rate and offered rate, side by sideOne rate, no reference point
FeesEvery fee as its own line"Low fee" or "no fee"
Who pays feesStated, and selectableCharge code buried in the bank form
Intermediary deductionsNone possible, or stated"May apply"
Amount receivedExact, in the recipient's currencyEstimated, or in the sender's currency only
ExpiryA fixed time, such as 5 minutes"Indicative"
TrackingA reference the recipient's bank recognizesA confirmation email

This is also where regulators are heading. The FSB's G20 targets ask every payment service provider to show, by end-2027, the total cost of a cross-border payment including fees and FX charges, the expected delivery time, payment tracking, and terms of service.

What are the red flags in a "zero fee" offer?

A zero-fee offer is a red flag when the rate isn't shown next to the mid-market rate. The fee went somewhere, usually into the spread.

Watch for these:

  • The quote shows one exchange rate with no market reference.
  • The amount received is shown only in the sender's currency.
  • The terms say intermediary fees "may apply."
  • The rate is "indicative" until the bank executes.
  • Large payments get a "better rate" by phone, with no written breakdown.

None of these mean the provider is dishonest. They mean you can't compare it to anyone else.

How does BlindPay keep fees visible?

BlindPay prices every payout in a quote that shows the market rate, the rate net of fees, the flat fee, and the exact amount the bank account receives. Nothing moves until you execute that quote.

From the payout quote docs:

  • commercial_quotation is the raw market exchange rate.
  • blindpay_quotation is the rate net of BlindPay's fee. The gap between the two is the FX cost, as a number.
  • flat_fee is the flat-fee component, and partner_fee_amount shows your own markup if you add one.
  • receiver_amount is the exact fiat amount the bank account receives.
  • cover_fees sets who pays. With false, fees come out of the recipient's amount. With true, they're added on top of the stablecoin amount you send, so the recipient gets the full figure.
  • Quotes expire after 5 minutes by default, and expires_at tells you exactly when.

Most BlindPay payouts never touch a correspondent chain. Pix in Brazil, SPEI in Mexico, ACH and RTP in the US, Transfers 3.0 in Argentina, ACH Colombia, and SEPA in Europe are local rails, so there are no intermediary banks to deduct along the way.

Where no local rail reaches, BlindPay sends SWIFT (POBO/COBO) payouts in USD. Each one carries a UETR, the end-to-end reference every bank in the chain uses, so you can trace it, and the quote's description travels in MT103 field 70, the reference the supplier's bank shows them (POBO and COBO). SWIFT still runs through correspondent banks, so on some corridors a receiving or intermediary bank can apply its own charges outside the quote. Use a local rail when the recipient's country has one. POBO vs COBO explained covers how those SWIFT payments work.

BlindPay's plans are published on the pricing page, there's no pre-funding requirement, and there's no minimum volume. What is real-time cross-border settlement explains how the speed side fits in.

What to do next

Pull the MT103 for your last three short-paid supplier wires and read fields 71A, 71F, and 71G. Then run the same payments through the 7-step audit using a BlindPay payout quote from a free development instance, and compare the amount each supplier would receive.

FAQ