I have some bitcoin spread across multiple addresses. I would like to move these to different addresses.

I've heard about batching and was wondering if it is possible to batch the transaction to multiple addresses and save on transaction fees?

I want to move my bitcoin from BISQ to my bitcoin-core wallet.


‘Batching’ generally refers to making payments to multiple addresses, all within a single bitcoin transaction. Put differently, this means you would craft a transaction with many outputs, each one paying out a different customer, for example.

In your case, you are trying to consolidate funds (UTXOs). The outcome is similar: a more efficient use of block space, and thus lower fees for you.

To consolidate all your UTXOs, you could simply send a transaction from BISQ to your bitcoin-core wallet, that empties the BISQ wallet entirely. This should spend all your current UTXOs as inputs, and create a singular output that will be spendable from your bitcoin-core wallet.

EDIT: I misread the question, so the lined-out text above isn't relevant to the answer OP is looking for. Lets try again:

Generally, batching transactions helps to save on transaction fees, by using block space more efficiently. In this case, the goal is to apparently also maintain some privacy, by not linking all of your previous addresses together through a single spend consuming all of your UTXOs, and sending the balance to a new address.

There is an often-cited 'common-input-ownership-heuristic' that seeks to identify users under the assumption that all inputs to a transaction are likely owned by the same user. So in the case of creating a batched transaction, someone viewing the ledger may infer that a single entity owns all of the input addresses.

By paying out to many addresses, you may gain some privacy against 3rd party observers (they may assume each output is owned by a separate user, for example), but the common-input-ownership-heuristic will still be working against you, to group all of your current UTXOs together.

It is worth mentioning that this heuristic is not always true! It is possible to craft transactions with inputs provided by several users in a trust-less manner, but these transactions are currently more rare on the network.

All of that said, most wallet software does not include functionality to craft multi-output transactions, so while I am not familiar with BISQ, my guess is what you are trying to do is not possible using that software. Bitcoin-core does include this functionality, so if you are motivated enough you could perhaps export your private keys (or seed phrase) from BISQ, import them into bitcoin-core, and then craft the transaction manually to move the funds to new addresses in the desired fashion.

It is perhaps worth watching the mempool to make this transaction during a time of low fees, for maximum savings.

| improve this answer | |
  • Is it not possible to batch to different addresses to preserve some form of privacy, instead of batching them all to a single address? – oshirowanen Apr 12 '19 at 15:11
  • Ah, I misunderstood your question, sorry. I'll edit/add to my answer. – chytrik Apr 12 '19 at 21:37
  • Great answer. Believe it or not, I do know how to manually create transactions on the bitcoin-core console. I just did not think of exporting the keys (assuming BISQ allows this) from BISQ to bitcoin-core. – oshirowanen Apr 13 '19 at 17:36
  • @oshirowanen as long as you can get the keys from BISQ you should be good to go then. Note that you will likely want to create two wallets using core: one for the ‘final destination’ of your coins, and one for the imported keys. This will let you maintain tighter control over your keys (ie, your funded keys will not exist in multiple places/pieces of software). – chytrik Apr 13 '19 at 19:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.