You need a Monero wallet before you can receive XMR. This guide shows you how to pick one, back it up and check that a payment has arrived.
What a Monero wallet does
A Monero wallet keeps your private keys. It uses them to find your payments, show your balance and sign the payments you send. The coins themselves stay on the Monero blockchain.
To find your payments, the wallet connects to a Monero node. A node is a program that keeps a copy of the blockchain. Monero transactions are encrypted, so your wallet must scan the blocks with your keys to see what belongs to you.
Your private keys stay in your wallet. A transaction that leaves your wallet is already protected by Monero’s privacy features, even when the node belongs to someone else. For the most privacy, run your own node. The node section below explains why.
Choose a wallet type
Pick a wallet that keeps the keys on your own device and has public source code.
The official GUI and CLI wallets
The Monero community develops two wallets of its own. Both are open source and free. You get them from getmonero.org.
- The GUI wallet has a graphical interface. It runs on Windows, macOS and Linux.
- The CLI wallet works in a terminal. It runs on Windows, macOS, Linux, FreeBSD and Android.
Download them only from getmonero.org. Then check the file against the signed list of hashes published there. The Monero website warns that a corrupted download could lead to lost funds.
Desktop and mobile wallets
The Monero website also lists wallets made by other teams. It says these wallets are not managed by the Monero core team, so do your own checks before you use one. Three examples with public source code:
- Feather is a desktop wallet for Windows, macOS, Linux and Tails.
- Cake Wallet runs on Android, iOS, macOS and Linux.
- Monerujo runs on Android.
These three scan the blockchain on your own device, without sharing your keys with the node. The Monero website calls them local synchronization wallets. A remote synchronization wallet, also called a lightweight wallet, shares your private view key with a server that scans for you. That is faster, but you lose some privacy if you do not control the server. Get any app through the link on the project’s own website.
A wallet on a phone or computer that goes online is a hot wallet. The Monero website warns against keeping more in a wallet that is, or has ever been, online than you are willing to lose.
Hardware wallets
A hardware wallet keeps your keys on a separate device. You still need wallet software on your computer or phone to see your balance and send. The Monero website lists these devices:
- Ledger Nano S, Nano S Plus and Nano X. They work with the GUI, the CLI, Cake Wallet, Feather and Monerujo.
- Trezor Model T, Safe 3 and Safe 5. They work with the GUI, the CLI and Feather.
Other models from these makers are not on that list. Trezor says its Safe 7 cannot be used with Monero yet. Both makers point you to a compatible Monero wallet, such as the GUI. Trezor says its own app does not support Monero. The Monero website lists a minimum firmware version for each device, so update the device before you start.
With a hardware wallet, the recovery phrase of the device is your backup. Trezor warns that this backup may not restore your Monero in wallets other than Trezor.
In the FCMP++ test builds of the official wallets from May 2026, hardware wallets did not work yet. Check the FCMP++ tracker before that upgrade.
Compare Monero wallets
The table lists Monero wallets, whether our FCMP++ upgrade tracker lists a public code repository for each, and how ready each one is for FCMP++, Monero’s next upgrade. Status checked on 19 September 2026.
| Wallet | Public repository | FCMP++ readiness |
|---|---|---|
| Monero GUI wallet | Yes | Test builds (beta) |
| Monero CLI wallet and wallet RPC | Yes | Test builds (beta) |
| Cake Wallet | Yes | Work in progress |
| Feather Wallet | Yes | Work in progress |
| Monerujo | Yes | No public statement |
| Stack Wallet | Yes | No public statement |
| MyMonero | Yes | No public statement |
| Edge Wallet | Yes | No public statement |
| ANONERO and NERO | Not listed | No public statement |
| Skylight Wallet | Yes | No public statement |
| Unstoppable Wallet | Yes | No public statement |
| Guarda Wallet | Not listed | No public statement |
| Atomic Wallet | Not listed | No public statement |
| Ledger (Monero app) | Yes | No public statement |
| Trezor (Monero support) | Yes | No public statement |
| Keystone | Yes | No public statement |
“No public statement” means we found none by that date, not that support will not come. “Not listed” means the tracker has no public repository for that wallet.
If your wallet dropped Monero
Exodus ended Monero support in August 2025. Its support page says you can still reach your XMR by importing your Exodus 12-word secret phrase, or the 25-word Monero seed from Exodus Desktop, into another Monero wallet. Your coins never left the blockchain. Install a wallet from the table, restore from the seed with a restore height from before your first payment, and let it sync. Type the seed only into wallet software on your own device, never into a website.
Back up your seed and restore height
When you create a wallet, it shows you a seed. The seed is a list of words that contains everything needed to view and spend your XMR. The GUI and CLI use 25 words. Feather uses a 16 word format called Polyseed.
- Write the words on paper, in order. Check each word twice.
- Keep the paper offline, in a safe place. Do not keep the seed in a photo, a cloud note or an email.
- Never share the seed or type it into a website. Anyone who has it has full access to your funds.
- In the CLI, the
seedcommand shows the words again. Use it to compare them with your paper.
You also set a wallet password. It protects the wallet file on this device. If you lose the password, only the seed can recover the wallet.
Write down the restore height as well. This is the block where your wallet starts to scan for payments. A 25 word seed does not contain it. A 16 word Polyseed has the wallet creation date built in.
When you restore a wallet, enter a height or a date from before your first incoming payment. If the height is too high, the wallet misses earlier payments and shows a wrong balance. If it is too low, the wallet only takes longer to scan. A height of 0 makes the wallet scan every block since 2014, which can take a very long time.
Primary address and subaddresses
Your wallet has one primary address. It starts with 4 and has 95 characters. The wallet can also make as many subaddresses as you like. Each one starts with 8 and also has 95 characters. All of them receive XMR into the same wallet, and all of them come from the same seed.
The Monero docs say a subaddress should be your default for receiving. Give each sender its own subaddress. Then a service that pays you cannot easily see that the same person is receiving again. For the most privacy, receive from services that need no account, since an account already links its payouts to you.
- In the GUI, open Receive and click Create new address. You can add a label, such as the name of the sender.
- In the CLI, type
address new. - After a restore, your subaddresses come back from the seed. Labels are stored in the wallet file, so you add them again.
Do not move the balances of many subaddresses to one address in a single transaction. That links those subaddresses together on the blockchain. Also, some older wallets cannot pay a subaddress. If a sender cannot use an address that starts with 8, give them your primary address.
Our Monero coin page explains all three Monero address types and how Monero keeps payments private.
Remote node or local node
The GUI and CLI wallets need a node that is fully synced. You can run your own node, called a local node. Or you can connect to a node that someone else runs, called a remote node.
A remote node is quick to start with, because you do not download the blockchain. The cost is privacy. The operator can see the IP address your transaction comes from, but not the receiver or the amount. A malicious node could also track your restore height and your block requests. It could send you wrong data to learn more about your transactions.
Your own node gives you the most privacy. A full node needs a very large download that can take days. A pruned node keeps about a third of the data. It is still better for your privacy than a node that someone else runs.
The GUI wallet has three modes:
- Simple mode always uses a remote node. It does not download the blockchain.
- Simple mode (bootstrap) starts a local node with a pruned blockchain. Until that node is synced, it uses a remote node called a bootstrap node, so you can use the wallet right away.
- Advanced mode can run a local node with the full blockchain. In this mode you can also pick a remote node yourself.
If you use a remote node, the Monero FAQ suggests reaching it over Tor or I2P, or through a VPN.
Receive your first XMR
- Open your wallet and let it finish syncing.
- Create a new subaddress and give it a label, such as the date of the swap.
- Start a swap, for example Bitcoin to Monero. Paste the subaddress as the address that receives your XMR. Compare the start, the middle and the end with your wallet.
- Save the link to your order page. It opens your swap again.
- Send your deposit to the address on your order page, in one transaction.
- Watch your order page. It shows each step, including when your deposit is credited and when your XMR is sent.
- Watch your wallet. The payout shows once your wallet has seen the transaction.
Check that your XMR arrived
A Monero wallet shows two amounts. The balance is your total. The unlocked balance is the part you can spend now.
New XMR needs 10 confirmations before it unlocks. A new block comes about every 2 minutes, so this takes about 20 minutes. This lock is part of how Monero works. It does not depend on your swap.
Your address never appears on the blockchain. Each payment goes to a new one-time address. So you cannot paste your address into a block explorer to see a balance. Your own wallet is the place to check. To watch a wallet without the power to spend from it, make a view-only wallet. It sees incoming payments but cannot sign transactions. It also cannot see outgoing payments, so its balance can be wrong after you spend.
To move out of XMR later, see the Monero to Bitcoin swap page.
If the payout does not show
- Let the wallet finish syncing. The first sync can take a long time.
- Check the restore height. If it is later than the payment, the wallet will not find it. In the GUI, go to Settings, then Info, and click Change next to the restore height. The wallet then scans again from the new height.
- Scan for the transaction. In the GUI, go to Settings, then Wallet, then Scan transaction, and paste the transaction ID. In the CLI, use
scan_tx. On a remote node, this can show the transaction ID to the node operator. - Check the address. Make sure the address in your order belongs to the wallet you have open.
- Check your order. If the wallet is synced and the address is right, open your order page. The payout may not have been sent yet.

