How to Send and Receive Monero Using the Command Line
Introduction
The Monero command-line wallet (CLI) gives you complete control over your funds without relying on graphical interfaces. While it may seem technical at first, the CLI wallet is lightweight, secure, and widely used by experienced Monero users who value privacy and direct control.
This guide walks you through the essential commands for sending and receiving XMR using monero-wallet-cli. You'll learn how to check your balance, generate receiving addresses, and create transactions—all from your terminal.
Before starting, you should have already created or restored a Monero wallet using the CLI. If you haven't done this yet, refer to our How to Create a Monero Command Line Wallet or How to Restore a Monero Wallet from Your 25 Word Seed guides for wallet creation or recovery steps.
Prerequisites
- A synced Monero daemon (
monerod) running locally or access to a trusted remote node - An existing Monero CLI wallet file
- Your wallet password
- Basic familiarity with command-line interfaces
Opening Your Monero CLI Wallet
To begin, you need to open your wallet using the monero-wallet-cli command. Navigate to the directory where your Monero binaries are located and run:
Replace /path/to/your/wallet with the actual path to your wallet file. You'll be prompted to enter your wallet password. Once authenticated, you'll see your wallet address and current balance displayed.
Common issue: If you see "Error: wallet file not found," verify the path is correct and that you're in the right directory.
Remote node users: If connecting to a remote node instead of running your own daemon, add the --daemon-address flag:
Receiving Monero: Getting Your Address
To receive XMR, you need to provide the sender with your Monero address. Inside the wallet CLI, type:
This displays your primary address—a long string starting with "4" (for standard addresses) or "8" (for subaddresses). This is what you share with anyone who wants to send you Monero.
Using Subaddresses for Better Privacy
Subaddresses enhance your privacy by letting you generate unique receiving addresses without revealing your primary address. To create a new subaddress, use:
The wallet will generate a fresh subaddress. You can create as many as you need—each one is unlinkable to your other addresses on the blockchain.
To view all your subaddresses, type:
Why this matters: Using different subaddresses for different senders prevents them from knowing your total balance or seeing transactions from other sources. This is a key privacy feature unique to Monero.
Checking Your Balance
After receiving XMR, check your balance with:
You'll see two values:
- Balance: Funds that have been confirmed and are spendable
- Unlocked balance: The portion currently available to spend (requires 10 confirmations, approximately 20 minutes)
Newly received funds appear as "locked" until they receive enough confirmations. This security measure prevents double-spending attacks.
Sending Monero: Creating a Transaction
Sending XMR requires the recipient's address, the amount to send, and confirmation of transaction details. The basic command is:
For example, to send 0.5 XMR to address 4AdUndXHHZ6cfufTMvppY6JwXNouMBzSkbLYfpAV5Usx..., you would type:
Important: Always verify the recipient address carefully. Monero transactions are irreversible—once confirmed, they cannot be undone.
Understanding Transaction Fees
After entering the transfer command, the wallet calculates the network fee and displays transaction details:
- Amount being sent
- Network fee (typically 0.00001–0.0001 XMR depending on network congestion)
- Total deducted from your balance
You must confirm by typing Y and pressing Enter. The wallet then broadcasts your transaction to the Monero network.
What to expect: You'll see a transaction ID (hash) displayed. Save this for your records—you can use it to verify the transaction later.
Setting Custom Priority
Transaction priority affects confirmation speed. Higher priority means higher fees but faster inclusion in blocks. The default priority works well for most situations, but you can specify it manually:
Priority levels:
0orunimportant: Lowest fee, slower confirmation1ornormal: Standard fee (default)2orelevated: Higher fee, faster confirmation3orpriority: Highest fee, fastest confirmation
Example with elevated priority:
Verifying Transactions
To view your recent incoming and outgoing transactions, use:
This displays a list of all transactions associated with your wallet, including:
- Transaction ID (hash)
- Block height
- Amount sent or received
- Timestamp
To see only incoming payments:
To see only outgoing payments:
Privacy note: These commands only show transactions visible to your wallet. Due to Monero's privacy features, outside observers cannot see these details on the blockchain.
Safety and Best Practices
- Never share your seed phrase or wallet keys. Your 25-word mnemonic seed gives complete access to your funds. Anyone with your seed can steal your XMR.
- Verify addresses carefully before sending. Malware can replace copied addresses. Always double-check the first and last few characters.
- Use subaddresses for different senders. This prevents address reuse and protects your transaction history from correlation.
- Keep your wallet software updated. New versions include important security fixes and protocol improvements.
- Back up your wallet file regularly. Store encrypted backups in multiple secure locations.
- Run your own node when possible. Connecting to remote nodes can leak your IP address and transaction timing metadata.
- Use strong, unique passwords. Wallet passwords should be long, random, and never reused from other services.
Common Problems and Solutions
Problem: "Error: Not enough unlocked balance"
Cause: Recent incoming transactions haven't received 10 confirmations yet.
Solution: Wait approximately 20 minutes for confirmations, then check your unlocked balance again with the balance command.
Problem: "Error: Failed to connect to daemon"
Cause: Your local monerod isn't running, or the remote node is unreachable.
Solution: If using a local node, start monerod first. If using a remote node, verify the address and port are correct, and check your internet connection.
Problem: Transactions taking a long time to confirm
Cause: Low priority setting or network congestion.
Solution: Use elevated or priority level for time-sensitive transactions. Normal transactions typically confirm within 20-40 minutes.
Problem: "Error: Wrong password"
Cause: Incorrect wallet password entered.
Solution: Re-enter your password carefully. If you've forgotten it, you'll need to restore from your 25-word seed phrase to create a new wallet file.
Problem: Cannot see recent transaction
Cause: Wallet not fully synchronized with the blockchain.
Solution: Use the refresh command to manually sync your wallet with the current blockchain height.
Problem: Address shows as invalid when sending
Cause: Recipient provided an incorrect or incompletely copied address.
Solution: Request the full address again from the recipient. Monero addresses are 95 characters long for standard addresses.
FAQs
Can I send Monero to an exchange using the CLI wallet?
Yes, you can send XMR to any valid Monero address, including exchange deposit addresses. However, many exchanges require you to include a payment ID alongside the address for deposit tracking. Payment IDs are being phased out in favor of subaddresses, but some exchanges still use them. If your exchange provides a payment ID, use the integrated address they provide (starting with "8") or add the payment ID manually using transfer <address> <amount> <payment_id>. Common misunderstanding: Using the wrong payment ID or forgetting it entirely can result in lost deposits that require manual recovery by the exchange. Always verify the exact requirements from your exchange's deposit instructions before sending.
How long does it take for a Monero transaction to confirm?
Monero transactions typically appear in the next block, which occurs approximately every 2 minutes. However, transactions require 10 confirmations (about 20 minutes) before received funds become spendable in most wallets. The time can vary based on network activity and your transaction priority setting. Higher priority transactions pay larger fees and are more likely to be included in the very next block, while lower priority transactions might wait for less congested blocks. Common misunderstanding: Seeing a transaction in the mempool doesn't mean it's confirmed yet—you need to wait for blockchain inclusion and subsequent confirmations. The CLI wallet's show_transfers command displays the confirmation count for each transaction.
What happens if I send Monero to the wrong address?
Monero transactions are irreversible once confirmed on the blockchain. If you send XMR to an incorrect address, the funds cannot be retrieved unless you control that address or can contact whoever does. This is why address verification is critical before confirming any transfer. The Monero protocol validates address format (preventing sends to malformed addresses), but it cannot verify that you intended to send to that specific recipient. Common misunderstanding: There is no "undo" function, customer support team, or central authority that can reverse transactions. Unlike bank transfers, blockchain transactions are final by design, which is both a security feature and a responsibility for users. Always double-check at least the first and last 5-10 characters of recipient addresses, and consider sending a small test amount first for large transfers to unfamiliar addresses.
Do I need to run my own Monero node to use the CLI wallet?
No, you can use the CLI wallet by connecting to a remote node instead of running monerod locally. However, using a remote node has privacy trade-offs: the node operator can see your IP address, know when you're checking your balance, and observe the timing of your transaction broadcasts (though they still cannot see amounts or recipient addresses due to Monero's privacy features). Running your own node provides maximum privacy, strengthens network decentralization, and eliminates reliance on third parties. If you must use a remote node, choose trusted community nodes or Tor-accessible nodes to reduce metadata leakage. Common misunderstanding: Remote nodes cannot steal your funds or see transaction details, but they can collect metadata about your wallet activity. For users who value privacy, running a local node is strongly recommended despite the bandwidth and storage requirements.
Can I use the same wallet on multiple devices?
Yes, but you need to handle the wallet file carefully. The CLI wallet stores its state locally in a file (including transaction history, subaddresses, and cached blockchain data). You can copy the wallet file to another device or restore from your 25-word seed phrase on multiple devices. However, using the same wallet simultaneously on multiple devices can cause synchronization issues—each instance maintains its own local state, and they don't automatically sync with each other. If you send a transaction from device A, device B won't know about it until you manually refresh or rescan. Common misunderstanding: Restoring from seed on a new device doesn't automatically import your transaction labels, subaddress names, or address book entries—only your funds and transaction history are recovered. For active multi-device use, it's better to restore from seed on each device rather than copying wallet files, and always refresh before sending transactions to ensure accurate balance information.
Conclusion
The Monero command-line wallet offers powerful control over your funds with a straightforward set of commands. By mastering address, balance, transfer, and show_transfers, you can handle all essential wallet operations without relying on third-party interfaces.
Remember: always verify addresses before sending, use subaddresses to protect your privacy, and keep your seed phrase secure and backed up. The CLI wallet's simplicity and directness make it an excellent choice for users who prioritize security and control.
Next steps: Consider setting up your own Monero node for maximum privacy, explore advanced CLI features like multisignature wallets, or learn about integrated addresses for simplified receiving workflows.

monero.how