Receiving Address Reuse
Before you get started sending or receiving IOTA you need to understand how receiving addresses work. Each seed can have an unlimited number of receiving addresses associated with it, and each one can hold a separate balance of IOTA. So each receiving address is like a separate account, and your seed is like the master password that can see and unlock all of them.
An IOTA address can receive an unlimited number of deposits until a single outgoing transaction has been sent spending any funds that are in it. That makes the address become defunct, and any future deposits should be sent to a different receiving address.
For example, you can have one address that receives 10 separate deposits until it’s total balance is 100 IOTA. But if you want to send even 1 IOTA from that address to somewhere else, 1 IOTA will be sent to the recipient you specify and the remaining 99 IOTA will be automatically rolled into a new receiving address associated with your seed. After this your first receiving address shouldn’t be used anymore for getting deposits.
To see which addresses are defunct and shouldn’t be used, Just log-into the wallet using your seed, and navigate to the “history” tab. Then click the “addresses” button. Any defunct receiving addresses will be shown with a slash through them.
If you accidentally send a deposit to a defunct receiving address the wallet will still see your balance, but those tokens will be locked and you won’t be able to send them. You will have to unlock them using a more complicated sending process that employs the command-line wallet. On the off chance you need to do that, here is a forum post explaining that.
Every so often the developers of IOTA will initiate what’s called a “snapshot”. This means all transaction history will be deleted from the network leaving only a record of how much IOTA is stored in each address. This means that if you are storing your IOTA on any receiving address but the 1st one, the wallet will think your balance is 0. That’s because after a snapshot the wallet forgets about all other receiving addresses but the first one. If your balance is stored on any other address you will need to go to the receive tab, and generate “new” addresses until it rediscovers the one holding your funds. If your balance was on the 5th address before the snapshot, then it will be on the 5th address after the snapshot too.
Logging Into The Wallet
These instructions assume that you have followed the steps in our previous tutorial that walked you through setting up a secure encrypted seed.
- Open the IOTA wallet, but don’t do anything with it yet.
- Insert the removable media containing your seed-folder that we showed you how to make in our last tutorial.
- Open your seed file using KeePass.
- Input the master password you created to unlock your seed-file. Remember there is no password reset with KeePass. So don’t forget or lose your password.
- Drag the IOTA Desktop wallet to one side of your screen, and KeePass to the other, so that you can see them both at the same time.
- In KeePass right click on your IOTA seed entry, and select “Perform Auto-Type”.
Your IOTA seed should be automatically typed into the wallet, in a way that’s hard for key-loggers and spyware to see. You will see the same 3 digit checksum every-time before you log-in and this lets you know the seed has been entered correctly.
(Note: This only works if you’ve previously configured two channel auto-type obfuscation)
- Press Log-in
No connection/Slow Connection
If you notice that the wallet is slow to perform simple tasks it’s likely that the node you are connected to is under a heavy load. Below are the steps to find and connect to a healthy node.
- Visit https://iota.dance/ to see a list of currently healthy nodes.
- Pick one near the top of the list, and click the node URL to copy it to your clipboard.
- Go to the IOTA wallet and go to Tools > Edit Node Configuration.
- Change the ‘Host’ to custom.
- Paste the node address in the field below.
- Leave everything else as it is, and press save.
In order to receive IOTA you just need to submit one of your receiving addresses to the party that will be sending you funds (Such as Binance when you do a withdrawal). You can have multiple addresses holding different amounts that will all contribute to your seed’s total balance.
However, keep in mind that if you send and outgoing transaction, whichever address is withdrawn from will become defunct. It’s leftover balance (if any) will roll into a new address. After that point you should not use that defunct address again. Lastly, Unlike your seed, these receiving addresses are safe to post publicly, share with others, and store in plain text on your local computer or cloud server without risking the security of your funds.
Here’s how you get your receiving addresses.
- After logging into the wallet with your seed, navigate to the “Receive” tab.
- Your first receiving address will already be there. Press “Attach to Tangle”.
- After it says “Address Attached” just click that same button again.
- Now click “Generate New Address”.
- Attach the new address to the tangle, and repeat this process until you’ve gotten as many as you need. For most people 1 is enough, but remember after a snapshot you will need to regenerate and re-attach the same number of addresses before the wallet sees your balance.
- Navigate to the “History Tab” and press the “Addresses” button. There you will see a list of your active receiving addresses and an indicator as to which ones are defunct and shouldn’t be used anymore.
- Click a receiving address to copy it, and paste it into a text file or e-mail and save it for easy access. After this step you can disconnect the device containing your seed, and still receive and monitor deposits by just having these addresses saved.
- This should go without saying, but it’s very important to copy and paste your full receiving address without any errors or extra characters. Any transactions sent to an incorrect receiving address are irreversible.
Let’s say you want to send an amount of IOTA somewhere. First you need to understand that whatever address is holding your balance will no longer be good for receiving future deposits afterwards. If there is more IOTA in that address than you are sending, then the remainder will just be automatically rolled into the next receiving address down the line.
Here’s how you send an outgoing transaction
- After logging into the wallet with your seed, navigate to the “Send” tab.
- Paste the address you want to send to in the “Recipient Address” field.
- Enter the amount of IOTA you wish to send.
Remember: 1MIOTA=1,000,000 IOTA & 1KIOTA=1,000 IOTA.
- You can choose to attach an optional message, but for most transactions you can leave that blank.
- Press “Send it Now” to initiate the transaction. Your wallet will begin working on attaching the transaction to the tangle. This may take a few minutes depending on the CPU power of your computer.
- On the history tab, you will see one newly defunct address that was discarded due to this transaction.
- Once the send is complete it doesn’t mean the transaction is confirmed yet. Usually you can just wait and it will confirm on it’s own very quickly without even needing the wallet to be open. But, Sometimes it can take a while to confirm and you might want to speed up the process manually. To do that navigate to the history tab and select “view bundle” on your pending transaction. Then press the “reattach” and “promote” buttons to speed up the confirmation time. You can do this several times if you need to.
Checking Your Balance Without your Seed
Now that you have your receiving addresses saved in a text file or e-mail we will show you how to monitor the balance in them without having to access your seed or take it out of cold storage. This is very convenient because you don’t have to protect your receiving addresses from third parties and they don’t contain any personal information that can be linked to you.
- Visit https://thetangle.org/.
- Paste the receiving address you want to check into the search box.
- You can use this to check your balance or to confirm that deposits to those addresses have successfully completed without needing to access your seed or log into the wallet.
- Feel free to bookmark the page showing the balance of your address so that you can easily see it whenever you want.
Help! The IOTA wallet says my balance is 0!
Assuming you’ve handled your seed properly and kept it out of the wrong hands, your seed is most likely safe and your funds are still there. If you can still see your balance on TheTangle.org when you check your specific receiving address then the funds are still there despite what the wallet says.
You’ve just encountered a snapshot. That means the history of previous transactions has been scrubbed from the IOTA network and the only thing that’s saved is the final balance in each address. This is done to speed up the network by removing superfluous data.
But, when a snapshot happens the IOTA wallet forgets that you’ve already generated several receiving addresses and doesn’t know which, if any are holding funds. It’s only checking the very first receiving address. If your funds are on any address other than the first one, the wallet will say that your balance is 0.
Don’t worry, this is very easy to fix. Just go back to the “Receive” tab in your wallet and continuously generate new addresses and attach them to the tangle until it finds the address holding your balance. If your balance was on the 5th address before the snapshot, then it will be on the 5th address after the snapshot too.