Simplewallet is the original commandline interface(CLI) for Monero transactions.
As of version 0.8.8.7, command line options are:
bitmonero wallet v0.8.8.7-f4675dc Usage: simplewallet [--wallet-file=<file>|--generate-new-wallet=<file>] [--daemon-address=<host>:<port>] [<COMMAND>] General options: --help Produce help message --version Output version information Wallet options: --wallet-file arg Use wallet <arg> --generate-new-wallet arg Generate new wallet and save it to <arg> or <address>.wallet by default --password arg Wallet password --daemon-address arg Use daemon instance at <host>:<port> --daemon-host arg Use daemon instance at host <arg> instead of localhost --daemon-port arg (=0) Use daemon instance at port <arg> instead of 8081 --command arg --set_log arg --restore-deterministic-wallet Recover wallet using electrum-style mnemonic --non-deterministic creates non-deterministic view and spend keys --electrum-seed arg Specify electrum seed for wallet recovery/creation --testnet Used to deploy test nets. The daemon must be launched with --testnet flag --rpc-bind-ip arg (=127.0.0.1) Specify ip to bind rpc server --rpc-bind-port arg Starts wallet as rpc server for wallet operations, sets bind port for server
While inside simplewallet, the commands are such:
Commands: address Show current wallet public address balance Show current wallet balance bc_height Show blockchain height help Show this help incoming_transfers incoming_transfers [available|unavailable] - Show incoming transfers - all of them or filter them by availability payments payments <payment_id_1> [<payment_id_2> ... <payment_id_N>] - Show payments <payment_id_1>, ... <payment_id_N> refresh Resynchronize transactions and balance save Save wallet synchronized data save_bc Save current blockchain data seed Get deterministic seed set available options: seed language - Set wallet seed langage set_log set_log <level> - Change current log detalization level, <level> is a number 0-4 start_mining start_mining [<number_of_threads>] - Start mining in daemon stop_mining Stop mining in daemon transfer transfer <mixin_count> <addr_1> <amount_1> [<addr_2> <amount_2> ... <addr_N> <amount_N>] [payment_id] - Transfer <amount_1>,... <amount_N> to <address_1>,... <address_N>, respectively. <mixin_count> is the number of transactions yours is indistinguishable from (from 0 to maximum available) viewkey Get viewkey
To send Monero from Simplewallet to an Exchange, you're going to need the address and a Payment ID. This differs from what you may be used to with Bitcoin or another Altcoin. You can think of the payment ID as...you. The address is the address of the Exchange itself, and the Payment ID is the portion that separates you from another user on that exchange. So if you leave off the Payment ID, your transfer will still end up at the exchange, but they won't know who it belongs to.
Another idea that may throw you off is the "mixin_count". Quite simply, this is a knob that dials up or down the amount of anonymity you'd like. 0 is okay but not suggested. 2 or 3 is the more common choice. So, an example command to send 5.32 XMR to an exchange is:
transfer 3 493JYDeY6taJV2bXYsa4vh2kkub7URErJ4B3cN7NKeNG5JFlNr3iTo4jJbS35AxcTgErouA8x8gLo9C2AiBu27i4KFMXXcp 5.32 93af87e91c0f2a14ay0a7198f45a458673d724b9c110d355c9effe81a64de4f7
To send Monero from Simplewallet to a person or between wallets, you can skip the Payment ID. So, an example command to send 4.18 XMR to a person is:
transfer 3 4f4KYDfY6taJV2bXYsa4vh2kkub7UFGrJ4B3cN7NKeNG5JFlNr3iTo4jJbS35AxcTgErouA8x8gLo9C2AiBu27i4KFMGGgf 4.18
simplewallet is the wallet software that ships with the monero tree. It is a console program, and manages an account (while a bitcoin wallet manages both an account and the blockchain, Monero separates these: bitmonerod handles the blockchain, and simplewallet handles the account).
This guide assumes you already have created an account, according to the other guides, and will show how to perform various operations from the simplewallet UI.
Since the blockchain handling and the wallet are separate programs, many uses of
simplewallet need to work with the daemon. This includes looking for incoming transactions to your address. Once you are running both
bitmonerod, refresh the wallet's idea of the blockchain:
This will pull blocks from the daemon the wallet did not yet see, and update your balance to match. To see the balance without refreshing:
You will need the standard address you want to send to (a long string starting with '4'), and possibly a payment ID, if the receiving party requires one. In that latter case, that party may instead give you an integrated address, which is both of these packed into a single address (integrated address do not start with 4, but A).
This is the command to use when you are sending to a standard address:
transfer 3 ADDRESS AMOUNT PAYMENTID
Replace ADDRESS with the address you want to sent to, AMOUNT with how many monero you want to send. and PAYMENTID with the payment ID you were given. If the receiving party doesn't need one, just omit it.
If you have an integrated address to send to:
transfer 3 ADDRESS AMOUNT
The payment ID is implicit in the integrated address in that case.
The 3 above is the mixin. It's a good idea to leave it to 3, but you can increase the number if you want to mix with more outputs. The higher the mixin, the larger the transaction, and the higher fees needed.
If you have your own Monero address, you just need to give your standard address to someone. Since Monero is anonymous, you won't see what address sent anything you receive. If you want to know, you'll have to tell the sender to use a payment ID, which is an arbitrary optional tag which gets attached to a transaction. To make life easier, you can generate an address that already includes a random payment ID:
This will generate a random payment ID, and give you the address that includes your own account and that payment ID. If you want to select your own payment ID, you can do that too:
If you pay a merchant, and the merchant claims to not have received the funds, you may need to prove to a third party you did send the funds - or even to the merchant, if it is a honest mistake. Monero is private, so you can't just point to your transaction in the blockchain, as you can't tell who sent it, and who received it. However, by supplying the per-transaction private key to a party, that party can tell whether that transaction sent monero to that particular address. Note that storing these per-transaction keys is disabled by default, and you will have to enable it before sending, if you think you may need it:
set store-tx-keys 1
From now on, tx keys will be saved, and you can retrieve them later for a given transaction:
Pass in the transaction ID you want the key for. Remember that a payment might have been split in more than one transaction, so you may need several keys. You can then send that key, or these keys, to whoever you want to provide proof of your transaction, along with the transaction id and the address you sent to. Note that this third party, if knowing your own address, will be able to see how much change was returned to you as well.
If you are the third party (that is, someone wants to prove to you that they sent monero to an address), then you can check this way:
check_tx_key TXID TXKEY ADDRESS
Replace TXID, TXKEY and ADDRESS with the transaction ID, per-transaction key, and destination address which were supplied to you, respectively. simplewallet will check that transaction and let you know how much monero this transaction paid to the given address.
Getting a chance to confirm/cancel payments
If you want to get a last chance confirmation when sending a payment:
set always-confirm-transfers 1
How to find a payment to you
If you received a payment using a particular payment ID, you can look it up:
You can give more than one payment ID too.