How Do I Send BTC To Multiple Addresses In One Transaction?

Bitcoin image

Do you need to send Bitcoins to many Bitcoin addresses? Is it possible to make one transaction and pay only for transaction fees one-time instead of many times?

Yes, it is possible to send BTC to more than one Bitcoin address in one transaction. As a result, you only have to pay transaction fees one time and all addresses receive their Bitcoins at the same time. Not all wallets support that process.

If you need to send Bitcoins to more than one address, it is recommended to bundle transactions into one. Here are the major advantages when Bitcoin transactions are bundled into one.

  • No need to pay many times transaction fees
  • All addresses receive their funds at the same time

Electrum wallet

Sending BTC to many addresses in one transaction can be done in an Electrum wallet pretty easily.

#1 Navigate to the sent tab

#2 Choose Tools -> Pay to many

#3 Insert addresses and amount

To pay to many addresses now, you have to insert them one-by-one in the following format:

address1, amount
address2, amount

Then, it could look like this:

Note: The amount inserted is measured in the base unit of the Electrum wallet. So, in my case, I pay in mBTC. If you want to change that, go to Tool->Preferences. Then change the base unit of the Electrum wallet. Now, your whole wallet is managed in that base unit now.

If you want a more automated way, you can also import a CSV-file in the same format. You can import that CSV-file by clicking on the directory icon. You can generate that CSV-file with your own software. You can use this CSV-file to send to many addresses Bitcoins through the Electrum wallet.

Bitcoin core wallet

Method #1 – With the GUI (Graphical user interface)

It is also possible to send too many addresses coins with the Bitcoin core wallet. Navigate to the “Send” tab. Click “Add Recipient” as many times as you need it. Enter all addresses and how many coins they receive. Afterward, the wallet creates one transaction with many outputs.

Method #2 – With the console

If you are a programmer, you want a more automated way to send funds to many addresses in one transaction. The interface itself does nothing more than taking the input from the users and put it into the proper console command.

The Bitcoin core wallet supports also the RPC-JSON command “sendmany”. It is useful if you want to make automated payments to many addresses.

If you have a headless system, you can only interact with the wallet console anyway. If you have a GUI, navigate to “Help -> Debug window -> Console”.

Now insert the following command.

sendmany "" '{ "address1" : 0.1, "address2" : 0.2 }'

If you use the same address twice in the JSON object ( starts with { and ends with } ), you get the error: “Error trying to send payments with RPC sendmany”.

Armory wallet

The Armory wallet is based on the Bitcoin core wallet. So, it has the same features as the Bitcoin core wallet and many more.

This way, it makes it easy to send to many addresses in one transaction through the Armory wallet. Use the same command mentioned above in the Bitcoin core wallet section.

Fees

Fees by default are paid per kB of a transaction, not per transaction output. This means you only have to pay fees once, but you have many transaction outputs. Transaction fees are measured per kB. So, the more outputs you have, the more you have to pay. But, it’s not as much as doing every transaction standalone.

The reason for this is simple. First, you have to attach every time a change address to your transaction to receive funds back if the input was too big. So, you need most of the time a change address. Also, the Bitcoin protocol adds a header to every Bitcoin transaction that is 10 bytes big.

Further Readings:

Maximilian Groß

I'm a software engineer. I'm the owner of FireStake.com and know the crypto space since 2016. Furthermore, I share everything I learn about crypto on this blog.

Recent Posts