Last updated 20th June, 2018 — version 0.12.0.0 Lithium Luna
With the recent influx of new users to Monero I’ve noticed a lot of them having issues with the GUI wallet so I decided to break all its aspects down in plain English.
If you are wanting instant access to a Monero GUI wallet skip to the end of this guide where I discuss remote nodes. Remotes nodes compromise the security of your wallet to some degree so they are not recommended.
Step 1 — Download the graphic user interface (GUI)
Start by visiting monero’s website getmonero.org and click on the downloads page. Download your required version (make sure you download the GUI version and not the CLI version. A GUI is a Graphic User Interface, or more simply in this case a Monero wallet.
Step 1.1(Optional but recommended) — Verifying your download
To verify you are not downloading a compromised file which could contain software to steal your XMR you will need to verify it via the SHA256 hash listed under the download link. I will not cover this here but you can visit this link for a walk through — it is quite simple!
Step 2 — Launching the GUI
Once downloaded launch the the Monero GUI by opening the monero-wallet-gui.exe file in your newly downloaded monero-gui-v0.12.0.0 file (or whatever version you downloaded). You will be greeted with the screen below in which you will choose your language.
If your language is not supported you are welcome to contribute a translation via the monero-gui github repository here.
Once a language is selected you will be greeted with the below screen.
Create a new wallet: Click this is you want to create a new monero wallet from scratch — click on this to continue with the guide.
Restore wallet from keys or mnemonic seed: This option for is if you have had a monero wallet in the past and still have the private keys or mnemonic seed on hand (explained in the next step).
Open a wallet from a file: This is also if you have had a Monero wallet in the past. When you create your wallet in step 3 a file will be created that is locked by the password you set in step 3 — This is the file it is referring to.
Testnet: Testnet should be left un-checked. The testnet is a sandbox environment where you can play with fake monero and test out new upcoming features.
Stagenet: Similar to testnet the stagenet is a sandbox environment that is a copy of the current monero main net.
What is the mainnet? The mainnet I mentioned above is simply the live, or main, version of the monero network were real monero is transferred from senders to recipients.
All digital assets have mainnets and testnets, not just monero!
Step 3 — Creating the wallet
This is where you begin creating your new Monero wallet. First you will need to give the wallet a name, it can be anything.
Secondly, and most importantly, is the mnemonic 25-word seed seen below. This seed is a backup of your wallet and is cryptographically tied to your private key (which is what is used to prove you own your monero).
Write this key down or copy it into a file and print off a physical version for safe keeping — DO NOT store this key anywhere someone can access it. Your private key = acccess to all your monero.
I would recommend investing in a ledger hardware wallet (which will work with the monero GUI very soon). Hardware wallets are the most secure way to store your sensitive wallet information such as your private keys.
Your wallet is stored in: This is where your key file will be created and stored once you finish this wallet creation process. This key file will be encrypted by a password that you will set in step 3.1.I would recommend making backups of this key file and storing them offline.
If you lose this key file, the only way to restore your Monero wallet is the mnemonic 25-word seed you copied above.
What is the key file exactly? The key file is simply your private key that is encrypted with a password that you select in step 3.1. Your 25 word mnemonic is technically your private key but requires no password to utilize it hence why this should be stored offline as a last resort backup
What is a private key? A private key is a secret, mathematically produced number which is unique to your wallet (some wallets can have multiple private keys however) which allows you to spend the monero inside the wallet.
Side note: All crypto currencies, commodites, and tokens utilize private keys. If you hold a private key you own the digital assets tied to that private key. Centralized exchanges such as Coinbase hold the private keys to the wallets that you use on their platform — so technically you do not ‘own’ those digital assets so move your coins to offline wallets asap!
Step 3.1 — Setting your wallet password
Next is creating a password which will encrypt the key file mentioned above which is generated upon completion of creating your wallet. You will enter this password each time you unlock your wallet. If you want to access your wallet on other devices you will need a copy of your key file or you can restore from seed (see alternative options in step 2 above).
I highly recommend creating a strong, randomly generated unique password using a program such as KeePassX or 1Password. With cryptocurrency you are your own bank and only you are responsible for the security of your funds, so this is highly important.
I also recommend keeping this key file in cold storage such as a USB and only access it when using your funds.
Upon clicking the right arrow your key file will be generated and stored.
Step 3.2 — Daemon settings
These settings pertain to whether you will be running your own node (downloading your own copy of the monero blockchain) or connecting to a remote node (You will use someone else’s copy of the monero blockchain).
You will not be able to see your funds in your wallet or send monero until your wallet is synced up with a full copy of the monero blockchain either via a your own or a remote node. You can receive monero to the address specified in your wallet (see later steps) but you will not see them in your wallet until you’re synced to a full copy of the blockchain.
Starting your own node requires you to download the monero blockchain, which is currently 52.23 GB as of June 20th 2018, and can take a long time to download.
Daemon: A daemon is simply a program that runs as a background process in this case it downloads the monero blockchain to your computer.
Blockchain location: This is where the daemon will download the monero blockchain to. I recommend downloading it to an external drive as the file is quite large and will grow over time.
Bootstrap node: A bootstrap node is a remote node (see above) that you will temporarily connect to whilst the monero blockchain is downloaded locally on your device. This is so you can use your wallet straight away.
Connect to a remote node: If you do not want to download the monero blockchain you can connect to a remote node straight away without running the daemon in the background. You can find remote nodes to connect to via moneroworld. Below is an example of a remote node entered from moneroworld.
That’s it! Your wallet is all setup and you can start using monero.
Step 4 — Using the Monero GUI
This is the first thing you will see when you open your GUI. Below details what each element of this page means.
4.1 — Side bar
Balance: The balance is how much Monero you have in your wallet.
Unlocked balance: The unlocked balance is how much Monero you are able to spend at that given time.
After sending a transaction you will notice that the unlocked balance will be zero, but your balance will still show any Monero you have. This is the nature of ring signatures which can be learned about by clicking here.
Navigation: The sections on the right hand side are used to navigate around the Monero GUI.
Network status: Network status indicates if your blockchain or remote node is synced/connected or not. If this says synchronizing(see below) your wallet is not fully synced.
If this says disconnected, you may be having network difficulties.
Blocks remaining: This is the progress of your blockchain sync to your computer.
If you do not have your node operating 24/7 when you launch your wallet again you will need to sync up the blocks that occurred between your last use of the wallet (usually this is very quick).
This sync involves two kinds of syncing. First, the blockchain sync, which is basically downloading the blockchain from other nodes / peers. Second, the wallet sync, which is the wallet scanning blocks looking for transactions belonging to your address / wallet.
4.2 — Send
This is where you can send your monero to other wallets.
Amount: This is how much Monero you want to send.
Transaction priority: This is the priority your transaction will get to be put into the next Monero blockchain block by miners. Higher priorty = higher network fees. The more you pay the more likely you get included in the next block meaning you transaction will go through faster — I recommended just staying with default or even using the slow option if you aren’t in a rush.
Address: This is where you put the Monero address you are sending to. I would recommend copying and pasting all addresses to prevent errors.
Payment ID (Optional): The payment ID is an identity attached to the transaction you are about to send. Often when sending to say an exchange they will give you a payment ID that you must include here. This is so they know that the Monero they get is from you.
Monero now uses sub addresses in placement of payment ID’s but some sites still use payment ID’s so they will be an option for the time being.
If you forget to add your payment ID you should still be able to recover your funds by contacting the party you sent Monero to.
Description (Optional): This is for your record keeping. You can add some information regarding your transaction for future reference.
Privacy level (ringsizes): This setting increases the size of the ring signatures your transaction is a part of. Higher ring sizes ‘may’ increase privacy of the transaction but also increases the fees. I would recommend leaving this as the default 7. Learn more about ring signatures here.
Sweep unmixable: This allows you to get rid of outputs in your wallet which have strange amounts like 0.000006839355, and are unmovable without combining them with another output. You will more than likely never need to use this feature. Learn more here.
Sign tx file: This button allows you to cryptographically sign a file with your private key. This is useful if you want to verify a transaction on an offline wallet. Learn more here.
4.3 — Address Book
This section lets you save users you frequently transact with. Addresses you put in your address book can be easily copied over when sending a transaction.
4.4 — Receive
This section has your receiving addresses as well as options to generate QR codes for receiving particular amounts (see below). Notice that balance and unlocked balance say ‘hidden’ on this screen. This is to improve privacy if you are having someone scan the QR code directly from your GUI and do not want them seeing how much XMR you have.
Address: This is your public Monero wallet address you share with people.
Create new address: This lets you create a new sub address which acts exactly like your main address. You can have as many sub addresses as you want. Use a new sub address for each transaction for improved privacy / security.
Monero use to use payment ID’s and integrated addresses but these have been phased out in the recent updates for these sub addresses.
Amount: How much Monero you are wanting to receive.
QR code: This is a QR code that has your wallet address embedded into it. It can be used as a way to give others your Monero address by simply scanning the code. This QR code will will tied to the amount you enter above if you enter an amount at all.
4.5 — History
The history section shows all your past sent and received Monero transactions to this wallet. You can click on the chevron arrow to view details on that transation.
P button: This button allows you to generate a proof for sent transactions which you give to recipients to show you sent your monero to them. You can also do this manually in the advanced > Prove/Check area of the GUI.
4.6 — Settings
This section covers general wallet and daemon management.
Close Wallet: This closes and locks your wallet.
Create view only wallet: This allows you to create a view only wallet that has a separate key file and login to your main wallet. View only wallets can not send Monero but you can use it as a way to view your balance.
Rescan wallet balance: This re-scans the blockchain for your outputs. If you send monero to your wallet but it is not showing up re-scanning may help.
Change password: You can change the password of your .key file for this wallet.
Local Node: A local node involves downloading your own copy of the monero blockchain
Remote node: A remote node connects to someone elses downloaded monero blockchain.
Moneroworld has a list of remote nodes you can connect to.
This is a temporary remote node you can connect to whilst your blockchain is downloaded in the background.
Moneroworld has a list of nodes you can connect to.
Start / stop daemon: You can start/stop the daemon (downloading the blockchain).
Show status: This shows the status of your daemon log.
Blockchain location: This is where you can specify where you want your Monero blockchain to be downloaded. This file can be large and take a long time (48 hours) to download. I would recommend putting it on an external SSD.
Manage daemon — advanced
Daemon startup flags: This is where you put additional commands you can give your daemon upon starting up.
Custom decorations: Check this to show monero’s custom decorations (just styling).
You can set how detailed you want your logs to be. Logs are just details on the happenings of your daemon.
Log categories: Add specific categories to the debug logs
Wallet creation height: You can set from what block height that a wallet scan will go back to. If you created your wallet only last week for example you would not need to scan for outputs from times before that creation date.
4.6.1 — Show seed & keys
This shows your wallets mnemonic seed (explained earlier) as well as your secret view key, public view key, secret spend key and public spend key. These are outlined below.
Mnemonic seed: Your 25-word seed which you can use to restore your wallet.
Public / Secret view key: These keys allow you and others to view your Monero wallet incoming transactions (not outgoing). Only give your public view key NOT your private view key to others. This is useful for auditing purposes. Your private view key is also used to ‘scan’ the blockchain to find funds sent to your address. Learn more.
Public / Secret spend key: These keys allow you to participate in ring signatures. The private key is used to sign a key image which is generated when a transaction happens and the public spend key is used by the network to verify the signature of the key image you generated. This is what prevents double-spend as the network enforces the rule that a key image can be spent only once. Learn more.
Spendable wallet: This spendable wallet can be used like your mnemonic seed to recover your wallet — DO NOT SHARE IT WITH ANYONE
View only wallet: This generates a QR code that contains only keys for viewing transactions that this wallet sends or receives, it can not create transactions.
4.7 — Advanced
I chose to put advanced last as most average users will never have to use this section of the GUI.
4.7.1 — Mining
This is a one click CPU miner that is embedded into the GUI. Having this on helps secure the Monero network. The more people that mine, the harder it is for the network to be attacked. Learn more about monero mining here.
It is very unlikely that you will receive awards from doing this, but it is not outside the realm of possibility.
4.7.2 — Prove/check
When you send money to a party who then disputes the payment was made, you need to be able to prove the payment was made.
With Bitcoin, this is typically done by looking up the transaction ID, where the origin and destination addresses are shown, along with the amount transacted.
Monero, however, is private: that information is not available publicly on the blockchain. The steps are therefore a bit more involved.
Transaction ID: This is the ID of the payment and can be found in the history tab and by clicking on details button next to the transaction.
Address: This is the wallet address used in the incoming/outgoing transaction. This can be found by clicking on the details button next to the transaction in your history tab.
Message: This is an optional message you can include with your proof.
Transaction ID:This is the ID of the payment and can be found in the history tab and by clicking on details button next to the transaction.
Address: This is the wallet address of the recipient. This can be found by clicking on the details button next to the transaction in your history tab.
Message: This is an optional message you can include with check.
Signature: This is the signature generated to prove the payment was made.
4.7.3 — Shared RingDB
This tool can be used to improve the privacy of monero ring signatures.
Blackball: Blackballing an output is simply a way to exclude the output from your blockchain.
Blackball file: This is a way to blackball a outputs that are known to be spent.
Manual single blackball/unblackball output: This is to blackball a single ouput.
Key image: Add a key image that has been used on a key-reusing fork. Monero uses key images to uniquely identify outputs. Learn more.
Get ring: Gives you the ring members of the key image you pasted above.
Set ring: Sets the ring members for a transaction.
Intend to spend: Check this is you will definitely be spending monero on a key-reusing fork.
Possibility to spend: Check this is you may spend monero on a key-reusing fork.
Relative: When selected, the offsets are encoded relative to the previous, as opposed to absolute.
Segregation height: The block height at which the key-reusing fork splits.
4.7.4 — Sign/verify
In this section you can sign a message or file with your private key so that it can be used to show you have ownership of your Monero public key to others. This is a great want to prove accountability without having to sacrifice anonymity.
Message or file: This is where you will write your message (top box) or attach a file (second box). Upon clicking on ‘sign’ you will generate a signature.
Signature: This is where you unique signature will appear once you click sign. This is linked to your private key / message or file you entered and will be used to verify a message or file that either you (for testing purposes), or others, create.
Message: This is where you will put a message that has been signed with a signature.
File: This is where you will put a filethat has been signed with a signature.
Address: This is where you will put the public Monero address you are wanting to verify.
Signature: This is where you paste the signature that the other user generated and gave to you.
Once all the required information has been inputted click verify. You should get a notification such as below if the signature is good.
If you incur any issues, please take a look at the GUI mega thread on reddit.
That’s pretty much it! If you have any questions or concerns feel free to pop me a message.