Hello Everyone,
We are into the third week of this knowledge hub Crypto Academy. This week we have another great lecture from crypto prof. @sapwood. Multiple Transfers/Batch Send in One Click is the topic of this week. I believe many contest organizers on this platform will find this tutorial very useful.

Introduction

To do Multiple Transfers we must have a Cryptocurrency Wallet. A Cryptocurrency Wallet is a decentralized application (dApp) which build on top of blockchain technology. Like any regular wallet which we use to store our physical money, cryptocurrency wallets can help us to store our digital currencies as well as manage them by sending and receiving.
To make such transfers a wallet holder should have two addresses, One is the wallet address (public key) and the other one is the private key. Wallet address acts the same as our bank account number while the private key is our PIN code. When there is a peer to peer transfer we share the wallet address with the other peer to transfer or receive crypto assets.
When you make such a transfer, there will be certain cost involvement in some blockchain protocols like Bitcoin and Etherum and there will be some blockchains which will not charge any. Steem is such a platform which does not cost any money for your transaction.
With that introduction to the topic, let's move to find out why we need the Multiple Transfers option in our wallet.
What do multiple transactions in a single click mean? How does it save transaction fees? What are the other benefits?

As described in the introduction, peer to peer transaction for an address could cost you a transaction fee. If we want to send money to different addresses then we may have to proceed with transfers one by one. With Multiple transfers we have an option to send money for different addresses (multiple-output) at once.
Moreover, performing multiple transfers at one click can save you time. Imagine doing transfers for 10+ accounts, for example, how about 100+ or 1000+! When we have more accounts to send money we will have a headache managing it. Also, accuracy over the transaction need to be upmost important, because one error could lead to a fund lost forever on that particular single transaction.
To make it more simple, let's assume that we are sending Ethereum to 10 addresses using the Ethereum blockchain. First, we must be certain that these addresses are valid and correct. Then if we perform transactions individually we have to pay 10 x transaction fee (gas fee) as a cost. Contrary to this method, if we can use the multiple transfer option, these 10 addresses will work as a single transaction and it would only cost you 1 x transaction fee.
Hence, multiple transactions in a single click can save our time, it is scalable according to our requirement, it is more accurate solution and most importantly it is cost effective.
How do you connect your Etherum Wallet(Metamask) to Multisend or Multisender(dApps) & perform multiple transactions(ETH/ERC20) in one click?

Multisend or Multisender are the two most known dApps which provides solution for multiple transactions in a single click. For this homework I will demonstrate how to connect your Metamask wallet to Multisender.
01. Go to https://multisender.app/
In the main window there will be a prompted message asking to Connect with your web3 enabled Ethereum wallet

Home window: Multisender
02. Connect Metamask
In the next step we have two connection options, one is to connect to the pre installed wallet and the other one is to install the wallet in case if you don't have it yet. I do have Metamask as a chrome extension, so I click Metamask to connect to my wallet. If you don't have Metamask, please click the Install Metamask and proceed.


03. Authorize to connect
We have to give permission to Metamask to connect with Multisender


04. Perform Multiple Transactions
Click Select your token to see available tokens in your wallet. Here I only have two options. When you have more currency options in your Metamask wallet, this list would be rich as well.

Multisender window when connected with Metamask
05. Enter List of Addresses
If there's only handful of Addresses you are able to copy paste the addresses as a list. It should be address,amount format (without any space). You can click Show Example CSV to check the format method. If there's more addresses you can upload a CSV file as well.

Uploading addresses
Once everything filled correctly, you can click Send
06. Send fund to the recipient
As a final step, you can check the details overall and send Approve to confirm the multiple transfers.

Before proceed to the fund transfer
Note that the transaction fee for multisender.app would be 0.09 ETH. Hence, if you need to get maximum profit out of this service you should at least have a 100+ list to transfer funds. Otherwise your gas fee will be higher than the amount you transfer.
Using Steemyy how do you perform multiple transactions(STEEM or SBD) in one click? Explain the detailed steps in both the apps(One from Etherum & the other from Steem Blockchain)?

Steemyy is great platform to send STEEM & SBD. Unlike, Multisend or Multisender Steemyy does not charge any fee for transferring funds. This is by far the best solution for Steemit users to send money to other users specially in the event like contest winners fund release.
01. Go to https://steemyy.com/ and click on tools.
On the homepage, look for the Tools tab and click it.

Homepage of steemyy.com
02. Steem Essentials
There will be many essential tools available here, for this tutorial we are going to select Steem Wallet Tool - Send SBD or STEEM to Multiple Accounts

Steem Essentials: Developed by @justyy
03. Fill out the details
- Sender's Steem ID (e.g. virajherath)
- Pasted Private Active Key.
- Amount of Steem you wish to transfer (e.g. 0.001)
- Currency: in this case STEEM
- Memo: the message you wish to send along
- Receiving Accounts
- Finally click Send to proceed.

Fill out the details as your requirement

The transaction was completed within seconds, below log will show the confirmation with the block number. For this particular transactions block numbers are 55567386 and 55567387.

Transactions confirmation
Demonstrate how to send the different amounts to different users with different memo and how to send repetitive/recurring amount at the pre-defined interval?

Now we have use the tool, this is quite an easy task. It is the similar process but we have to concentrate on one task which we didn't consider in last transaction, let's see what is it.
- Transfer different amounts to different users with different memo
Fill out the details
- Sender's Steem ID (e.g. virajherath)
- Pasted Private Active Key.
- Amount of Steem: Note that we are trying to send different amounts to different users, hence we have to leave this field as it is.
- Currency: in this case STEEM
- Memo: If the message is same to everyone enter it accordingly, otherwise leave it as it is.
- Receiving Accounts
This time we are focusing on the Accounts field, there we can enter our required details as follow.
Receiving Account(space)amount(space)Unit(space)Memo
e.g. sapwood 0.050 STEEM Thank you for Multiple Transfers Crypto Academy Tutorial

Similar steps but this time No.06 has more details
Difference on No. 06 field,


After filling out all the field similar to the previous steps, click Send as the 07th step, say Ok to the pop up and this time too within seconds my transfers were completed. Transactions block number 55568277.

Transactions confirmation
- Transfer recurring/repetitive amount (STEEM) to a single user or multiple users at a pre-defined interval.
When we have to pay STEEM or SBD as a repetitive manner to someone we can use this option. Let's assume that I have decided to give my support to a charity fund. I want to send some STEEM to them in regular basis.
I wish to send 0.50 STEEM every week for next 04 weeks for sl-charity & SteemFoods Medicine Donation.
- Accounts: sl-charity, SteemFoods
This is the way to do it,
Fill out the details
- Sender's Steem ID (e.g. virajherath)
- Pasted Private Active Key.
- Amount of Steem: 0.50 STEEM
- Currency: in this case STEEM
- As this is a repetitive/recurring transfer, I have filled these details as follow,
Send X times: 04 weeks
Interval: Once every week - Memo: If the message is same to everyone enter it accordingly, otherwise leave it as it is.
- Receiving Accounts: Two accounts as I mentioned.

Transfer recurring/repetitive amount


Transactions confirmation
Now, according to my wish the payment for charities will transferred once in every week for a month.
What if you enter a wrong/invalid address in Multisender or Multisend(dApps) and Steemyy(dApp)? Does the application(Steemyy in Steem Blockchain or Multisender in Etherum) allow the transaction to go through if you have entered a wrong/invalid address? Showcase with the screenshot(what does the application says when you enter a wrong address)?

- Wrong/invalid address in Multisender
In the tutorial it was mentioned that Multisender can detect the invalid addresses. Let's see whether its true.

Multisender errors when wrong/invalid address detected
Line 01: Wrong address
Line 02: Given address is not a valid Ethereum address.
Here Multisender has detected 02 different errors. Line 01 has a bc1 addresses which is not valid to ETH blockchain, hence given the error as Wrong address.
On line 02 I have purposely misspelled the address and the error was detected as not a valid Ethereum address .
This is very useful feature to make sure that the address we are sending funds are accurate.
- Wrong/invalid address in Steemyy
To check the Steemyy, I'm going to enter first account as a misspelled one, e.g. steemitblog as a steamitblog & the second one as a invalid account a username which haven't used so far, e.g. obamabarack

Steemyy with wrong/invalid addresses

Result of Steemyy with wrong/invalid addresses
In Steemyy it was the same error for both cases. It has to be because in theory, both accounts do not exist even though it is misspelled. But If a similar account is found even when misspelled, the transaction will definitely proceed because the account exists. Hence, we have to give extra attention to the Steemyy when we enter accounts.
Conclusion

To conclude, Multiple transactions in a single click is an effective way to transfer funds for a group of accounts. It is an essential tool for contest organizers, event organizers, bounty managers, airdrops and ICOs. The solution has enhanced the fund transfer process to the maximum level.
It was very useful to know about this feature. Thank you for your brilliant mind prof. @sapwood.