Yes, most banks sell money orders, but not all of them and not always at the counter
Banks do sell money orders, but the availability and cost depend on which bank you use and what type of account you hold. Large national banks like Bank of America, Wells Fargo, and Chase offer them, though some require you to be a customer. Credit unions often sell them too, sometimes at lower fees than banks. The catch: not every branch keeps them in stock, and some banks have stopped offering them entirely in favor of digital payment options.
When you buy a money order from a bank, you pay the face value of the order plus a fee. That fee typically ranges from $5 to $10 for a standard money order, though it varies by institution. Some banks charge less for customers with certain account types—a checking account holder might pay $5 while a non-customer pays $8 for the same order. A few banks, particularly credit unions, charge $1 to $3.
The process is straightforward: you tell the teller the amount you need, provide the recipient's name, and hand over cash or a debit card. The bank prints the money order on the spot, you sign it, and you leave with a receipt and the original. The whole transaction usually takes five to ten minutes.
Key Takeaways
- Most large banks sell money orders for $5 to $10 per order, though credit unions often charge less.
- You do not need a bank account to buy a money order from most banks, but some institutions limit sales to customers only.
- Not every bank branch stocks money orders, so calling ahead can save you a trip.
- Banks typically require cash or a debit card; some do not accept credit cards for money order purchases.
- Money orders take effect when ready once issued, unlike checks which can take days to clear.
Which banks charge the least and which ones have stopped selling them
Credit unions consistently charge the lowest fees for money orders. Many credit union members pay $1 to $2 per order, and some unions charge nothing at all if you maintain a minimum balance. Navy Federal Credit Union, for example, charges $1 for members. If you are not a member, you can often still buy one but will pay a higher fee—typically $3 to $5.
Among traditional banks, regional institutions sometimes undercut the national chains. Local or community banks may charge $3 to $5, while Bank of America, Wells Fargo, and Chase typically charge $5 to $10. Some banks have tiered pricing: a $500 money order costs less than a $5,000 one. A few large banks, including some branches of U.S. Bank, have discontinued money orders altogether, directing customers to cashier's checks or wire transfers instead.
The best approach is to call your bank's customer service line or visit your branch and ask the current fee before you go. Fees change, and what you paid last year may not be what you pay today. If you are a member of a credit union, that is usually your cheapest option.
What you need to bring and what happens at the counter
Bring cash or a debit card. Most banks accept both. Some do not accept credit cards for money order purchases because the transaction is considered a cash advance, which carries a fee and interest. You will also need to know the recipient's name—the exact spelling matters because the money order is made out to that person or business, and they cannot cash it if the name is wrong.
At the counter, tell the teller you want a money order and provide the amount. They will ask for the payee's name (the person or business receiving the money). You do not need to provide your own name on the money order itself, though the bank will record the transaction internally. The teller prints the money order, you sign it in front of them, and they give you the original and a receipt. Keep the receipt until the money order is cashed—it is your proof of purchase and shows the serial number.
If you make a mistake—misspell the name or write the wrong amount—ask the teller to void it and issue a new one. Most banks do this without charging you again, though some charge a small fee for a replacement. Do not cross out or alter a money order yourself; it will be rejected if the recipient tries to cash it.
Money orders versus cashier's checks at banks
Banks offer both money orders and cashier's checks, and they serve similar purposes but work differently. A money order is a prepaid instrument you buy for a set amount and hand to someone else to cash. A cashier's check is a check drawn on the bank's own account, signed by a bank officer, and may provide by the bank itself.
Cashier's checks cost more—typically $10 to $15—but they are accepted in situations where money orders are not, particularly for large transactions like down payments on a house or car. Money orders have limits: most banks cap them at $1,000 per order, though you can buy multiple orders. Cashier's checks have no standard limit and can be written for any amount the bank has on hand.
For everyday payments—rent, utilities, or sending money to someone you know—a money order is cheaper and faster. For formal financial transactions or amounts over $1,000, a cashier's check is the standard choice. Ask your bank which one the recipient prefers before you buy either.
Why some banks have stopped selling money orders
A growing number of banks, particularly large national chains, have reduced or eliminated money order sales. The reason is straightforward: money orders are labor-intensive and low-margin. A teller spends five to ten minutes on a transaction that generates $5 to $10 in revenue. The same teller could spend that time on a loan process or account opening that generates far more profit.
Banks are also pushing customers toward digital alternatives: bill pay through online banking, peer-to-peer payment apps like Zelle, and wire transfers. These options require no teller time and generate data about customer behavior. Money orders, by contrast, are anonymous cash transactions that leave no digital trail and require physical handling.
If your bank has stopped selling money orders, your options are a credit union, a check-cashing service, or a retailer like Walmart or Western Union. Walmart money orders typically cost $0.70 to $1.00 and can be bought at any hour the store is open. Western Union charges $1 to $5 depending on the amount. Both are faster and cheaper than banks, though they are not available everywhere.
How to learn about your bank has money orders in stock
Call your branch directly and ask. Do not assume they have them just because the bank offers them nationally. Large banks stock money orders at some branches but not others, depending on local demand and branch size. A busy downtown branch is more likely to have them than a small suburban one.
When you call, ask three things: Does this branch sell money orders? What is the fee? And do you have them in stock right now, or do I need to wait? If they do not have them in stock, ask when they expect a delivery. Some branches order them weekly; others order them as needed, which can take a day or two.
If your branch does not sell them, ask if another nearby branch does. Many banks allow you to buy a money order at any branch in the network, so you may have options even if your home branch has stopped offering them.
Money orders from banks versus other sources
| Source | Typical Fee | Limit per Order | Hours | Speed |
|---|---|---|---|---|
| Bank | $5–$10 | $1,000 | Branch hours only | 5–10 minutes |
| Credit Union | $1–$3 | $1,000–$2,500 | Branch hours only | 5–10 minutes |
| Walmart | $0.70–$1.00 | $1,000 | Store hours (often 24/7) | 3–5 minutes |
| Western Union | $1–$5 | $1,000 | Agent location hours | 5–10 minutes |
| Check-cashing service | $2–$8 | $1,000 | Varies | 5–10 minutes |
Frequently Asked Questions
Can I buy a money order from a bank if I don't have an account there?
Most banks allow non-customers to buy money orders, but some require you to be a customer. Call ahead to confirm. If your bank requires an account, credit unions, Walmart, and Western Union all sell money orders to anyone with cash or a debit card.
What if I lose a money order before I give it to someone?
Contact the bank that issued it with your receipt and serial number. The bank can put a stop on it so no one else can cash it, then issue you a replacement. This process takes a few days to a few weeks. Keep your receipt in a safe place until the money order is cashed.
Can I buy a money order with a credit card?
Most banks do not accept credit cards for money order purchases because they treat it as a cash advance. You will need cash or a debit card. Some retailers like Walmart accept credit cards, but the fee may be higher.
How long does a money order stay valid?
Money orders do not expire, but banks may charge a fee if you try to cash one that is very old—typically five years or older. The recipient can cash it at any time, so there is no rush. If you are sending one by mail, allow extra time for delivery.
Do I need to sign a money order when I buy it?
Yes, you sign it at the counter in front of the teller. The recipient will also need to sign it when they cash it. Do not sign the back of the money order—that is where the recipient signs.