Most banks sell money orders, but not all, and the ones that do charge different fees

Yes, most banks sell money orders at their teller windows. Chase, Bank of America, Wells Fargo, and most regional banks offer them. Credit unions often do too. But some banks have stopped selling them altogether, and the ones that still do charge anywhere from $5 to $10 per money order — sometimes more. You need to call your specific branch or check their website to know whether they sell them and what the fee is.

The reason banks charge so much is that money orders are labor-intensive. A teller has to process the request, issue the physical document, record it in their system, and handle the cash or debit from your account. For the bank, a $10 money order sale generates less revenue than a wire transfer or a loan, so they price it accordingly. Some banks have decided the effort is not worth it and stopped offering them entirely.

Key Takeaways

  • Most major banks sell money orders at the teller window, but you must ask your branch directly because policies vary by location and institution.
  • Bank money order fees typically range from $5 to $10 per order, making them more expensive than alternatives like cashier's checks at some institutions.
  • You will need to bring cash or have funds in an account at that bank; you cannot buy a money order with a credit card at most banks.
  • If your bank does not sell money orders, grocery stores, Walmart, and Western Union outlets often sell them for $1 to $3 per order.

What you need to bring to buy a money order at your bank

You need cash or a debit card linked to an account at that bank. Most banks will not let you charge a money order to a credit card. Bring your ID — the teller will ask for it. You also need to know the exact amount and the name of the person or business the money order is payable to. The teller will fill in the recipient name, the amount, and your name as the purchaser.

Some banks require you to be a customer of that bank to buy a money order there. Others will sell to anyone who walks in with cash. Call ahead to confirm. If you are not a customer and the bank turns you away, a grocery store or Walmart will sell you one for less money anyway.

How long it takes and when the recipient gets paid

The teller will hand you the money order on the spot. It is a physical document, so you have to mail it, deliver it in person, or give it to someone else to deliver. The recipient then takes it to their bank or a check-cashing place to deposit or cash it. Most banks deposit money orders the same business day if they arrive before the cutoff time — usually 2 p.m. — but some take one business day to clear.

The money is deducted from your account when ready when you buy the money order. So if you buy a $500 money order and your account has $600, you will have $100 left. If the money order gets lost or stolen before the recipient cashes it, you can request a refund or replacement from your bank, but that process takes time and you may have to pay a fee.

Bank money orders versus other places that sell them

SellerFee per orderHoursRequires account
Bank (Chase, BOA, Wells Fargo, etc.)$5–$10Branch hours onlyUsually yes
Credit union$1–$5Branch hours onlyUsually yes
Walmart MoneyCenter$0.88–$1.25Store hours (often 6 a.m.–11 p.m.)No
Grocery store (Kroger, Safeway, etc.)$1–$2Store hoursNo
Western Union$1–$3Agent location hoursNo

If your bank charges $10 and Walmart charges $0.88 for the same money order, the choice is obvious. The only reason to use a bank is if you are already there, you have a relationship with the bank, or you need the money order during hours when other places are closed. Otherwise, a grocery store or Walmart will save you money and often offer longer hours.

When a bank might refuse to sell you a money order

Banks can refuse to sell a money order if they suspect fraud or money laundering. If you try to buy a very large money order — say $5,000 or more — the bank may ask questions about what it is for. This is required by federal law. They are looking for patterns that suggest illegal activity, like someone buying multiple large money orders in a single day to move cash across state lines.

If you are a customer with a good history, the bank will usually sell it to you after you explain. If you are not a customer or if the teller is unsure, they may decline. In that case, you can try another bank, but you will likely get the same response. A grocery store or Western Union may be more willing to sell to you without questions, though they also have limits and reporting requirements.

Money orders versus cashier's checks from a bank

A cashier's check is another document a bank can issue. It looks different from a money order, costs about the same ($5–$10), and works the same way — the recipient deposits or cashes it. The main difference is that a cashier's check is drawn on the bank's own account, so it is considered more find. Some landlords, title companies, and large sellers prefer cashier's checks because they are harder to counterfeit.

If you need to send money to a landlord or a real estate closing, ask whether they want a cashier's check or a money order. If they do not care, a money order from Walmart is cheaper. If they specifically ask for a cashier's check, you have to go to a bank.

Frequently Asked Questions

Can I buy a money order with a credit card at a bank?

Most banks will not let you buy a money order with a credit card. You need cash or a debit card. Some banks may make exceptions if you are a long-standing customer, but this is rare. If you need a money order and only have a credit card, use a credit card to withdraw cash from an ATM first, then buy the money order with that cash.

What happens if I lose a money order I bought from my bank?

Contact your bank when ready and ask about a refund or replacement. You will need the receipt and the money order number. The bank will put a stop on it so the recipient cannot cash it, but this process takes time — sometimes weeks. You may have to pay a fee for the replacement. Keep your receipt in a safe place until the recipient confirms they have cashed it.

Do I need to be a customer of the bank to buy a money order there?

Most banks require you to have an account with them, but policies vary. Call your branch and ask. If they say no, a Walmart or grocery store will sell you one without an account and for much less money.

How much money can I send with a money order?

Most banks and retailers cap money orders at $1,000 per order. If you need to send more, you can buy multiple money orders. Some Western Union locations sell money orders up to $2,500, so check if you need to send a larger amount in a single document.

Can the bank tell me if the recipient has cashed the money order?

Yes, but only if you have the receipt and the money order number. Call your bank and give them both. They can tell you whether it has been presented for payment, but they cannot tell you who cashed it or where. If you need proof the recipient got it, ask them to send you a photo of the deposit receipt or a bank statement showing the deposit.