You can buy money orders at most retail locations without a bank account

A money order is a paper payment instrument you buy with cash at a store, post office, or bank. The seller prints your name as the purchaser and the recipient's name on the form. You pay the face amount plus a small fee—usually between $1 and $5 depending on where you buy it—and hand the money order to the recipient, who cashes it at their bank or a check-cashing service.

Money orders work without a checking account because you pay upfront in cash. The seller doesn't check your credit, your banking history, or whether you have an account anywhere. You walk in, hand over cash, and leave with a payment instrument the recipient can deposit or cash.

This makes money orders one of the few ways to send a large payment when you have no bank account and the recipient needs something more formal than cash. Checks require a checking account. Wire transfers require a bank account. Money orders do not.

Key Takeaways

  • Money orders cost between $1 and $5 per order and require only cash—no bank account, credit check, or ID in most cases.
  • The United States Postal Service, Walmart, Western Union, and most grocery stores sell money orders, though fees and maximum amounts vary by location.
  • Money orders take one to three business days to clear once the recipient deposits them, the same as checks.
  • If you lose a money order before the recipient cashes it, you can request a refund or replacement by providing the receipt and serial number.
  • Money orders work best for one-time payments or when the recipient needs a traceable payment record; for regular transfers, a prepaid card or bank account is usually cheaper.

Where to buy money orders and what each location charges

The United States Postal Service sells money orders at every post office. USPS charges a flat fee based on the amount: up to $500 costs $1.45, and $500.01 to $1,000 costs $1.95. You can buy multiple money orders in one visit if you need to send more than $1,000. USPS accepts cash, debit cards, and credit cards.

Walmart and most grocery store chains—including Kroger, Safeway, and Albertsons—sell money orders at their customer service desk. Walmart charges $0.88 for amounts up to $1,000. Grocery store fees vary but typically range from $1 to $2. These locations usually accept cash and debit cards.

Western Union and MoneyGram sell money orders at thousands of retail locations, including pharmacies, convenience stores, and check-cashing shops. Their fees are higher than USPS or Walmart—typically $2 to $5 per order—but they often have longer hours and more locations in some areas. Maximum amounts vary: Western Union caps most money orders at $1,000, while MoneyGram's limit is usually $500 to $1,000 depending on the location.

Banks that offer checking accounts also sell money orders to non-customers, though policies vary. Call ahead to confirm the fee and whether they require ID. Some banks charge $5 or more per order.

What you need to bring and what information goes on the form

You need cash or a debit card and the recipient's name. Most sellers do not require ID to buy a money order, though some locations may ask for it. Bring the exact amount or be prepared to receive change.

When you buy the money order, you will fill out a form with the recipient's name and address. You also write your own name and address as the purchaser. Some sellers pre-print this information if you provide it verbally. The seller prints the amount and a serial number, which you need to keep for your records.

The recipient does not need to be present. You can buy a money order for anyone—a landlord, a utility company, a person you owe money to—as long as you know their name and mailing address. If the recipient's address is incomplete or misspelled, they can still cash it at most banks, but it may cause delays.

How long money orders take to clear and how to track them

Once the recipient deposits or cashes a money order, it typically clears within one to three business days, the same timeline as a personal check. The recipient's bank verifies the money order with the issuer (USPS, Walmart, Western Union, or whoever sold it) before releasing the funds.

You can track a money order using the serial number printed on your receipt. If you need to confirm whether it has been cashed, contact the issuer with the serial number and the amount. USPS allows you to track money orders online at usps.com; Western Union and MoneyGram have tracking tools on their websites. This process usually takes a few minutes.

If the recipient says they never received the money order, ask them to check with their bank first—it may have been deposited and cleared without their knowledge. If it truly did not arrive, you can request a refund or replacement from the issuer using your receipt and serial number.

What to do if you lose a money order or need to cancel it

If you lose a money order before giving it to the recipient, contact the issuer when ready with your receipt and serial number. USPS, Western Union, and MoneyGram can place a stop on the money order, preventing anyone else from cashing it. You can then request a refund or a replacement money order.

The refund process takes time—typically two to four weeks—because the issuer must verify that the money order has not already been cashed. If someone else has already cashed it, you cannot recover the money. This is why keeping your receipt is critical: it is your only proof of purchase and your only way to track or cancel the money order.

If the recipient says they lost the money order you gave them, they can contact the issuer with the serial number (which you should have written down) and request a replacement or refund. The issuer will verify that it has not been cashed before processing the request.

Money orders versus other payment methods when you have no checking account

A prepaid debit card is cheaper for regular payments. You load cash onto the card once, then use it like a debit card for multiple transactions. Monthly fees range from $0 to $10, but you avoid per-transaction costs. Money orders cost $1 to $5 each, so if you are making more than two or three payments per month, a prepaid card saves money.

A cashier's check requires a bank account and costs $5 to $15, making it more expensive than a money order. However, cashier's checks are may provide by the bank and carry more weight in formal transactions like real estate closings or large business payments.

Wire transfers require a bank account and cost $15 to $50, but they move money in hours rather than days. If you need to send money urgently and have access to a bank account, a wire transfer is faster than a money order.

Cash in person is free but risky for large amounts and leaves no payment record. Money orders create a paper trail, which is why landlords, utility companies, and courts often require them instead of cash.

Common problems and how to handle them

If the recipient's bank refuses to cash a money order, the most common reason is a missing or illegible signature from the purchaser. Money orders require your signature on the back before the recipient can deposit them. If you forgot to sign, ask the recipient to return it so you can sign it, then have them redeposit it.

If the amount is wrong, contact the issuer when ready. Some sellers make mistakes when printing the amount. If the money order was printed for $500 instead of $50, the issuer can cancel it and issue a replacement. This is another reason to check the money order before you leave the store.

If you are sending a money order by mail and it never arrives, the recipient may need to file a claim with the postal service or the issuer. USPS insures money orders up to the face amount if you purchased insurance at the time of sale (usually an additional $1 to $2). If you did not purchase insurance, USPS cannot reimburse you for a lost money order.

Frequently Asked Questions

Can I buy a money order with a credit card?

Most sellers accept debit cards and cash but not credit cards. USPS, Walmart, and grocery stores typically decline credit cards for money order purchases because they classify it as a cash advance. Western Union and MoneyGram policies vary by location, so call ahead if you need to use a credit card.

What is the maximum amount I can send with a money order?

Most money orders cap at $1,000 per order. USPS, Walmart, and Western Union all have this limit. If you need to send more than $1,000, you can buy multiple money orders in one transaction. There is no daily or monthly limit on how many you can purchase.

Do I need ID to buy a money order?

Most sellers do not require ID. USPS, Walmart, and grocery stores sell money orders without checking identification. Western Union and MoneyGram may ask for ID depending on the location and the amount. If you are uncomfortable providing ID, USPS and Walmart are your safest options.

Can someone else cash a money order if I write their name on it?

Yes. Once you write the recipient's name on the money order, only that person can cash or deposit it. If you give it to the wrong person by mistake, they cannot legally cash it. If someone else tries to cash it, the bank will reject it because the name does not match their ID.

How do I know if a money order has been cashed?

Use the serial number on your receipt to track it through the issuer's website or by calling their customer service line. USPS, Western Union, and MoneyGram all offer tracking. The issuer can tell you whether the money order has been cashed and when.