Author

Topic: Sparrow--possible to send from different sub-wallets in single transaction? (Read 206 times)

newbie
Activity: 65
Merit: 0
#Proof of authentication
Bitcointalk username: Kava8$
Bitcointalk Profile: https://bitcointalk.org/index.php?board=238.0
Telegram Username: @Hazrat Ali
Joined Campaign: Twitter, Facebook, Instagram, Telegram, Article, Video,Tiktok, Discord
Bsc/Bep20:  0xf9CcF612215d3f50628708A5ECDd5BF6ef986cdc
hero member
Activity: 686
Merit: 1360
✔️ CoinJoin Wallet
I have never done coinjoins with Sparrow, so this is just me guessing. Does Sparrow allow you to view the private keys of all the bitcoin addresses you want to spend from? If it does, you could gather all the private keys, create a new Electrum wallet, and import the private keys associated with the addresses you want to spend from. My only concern is that it might not work because all of those "Sparrow accounts" have different derivation paths.

Good suggestion, at least it would be worth a try, but Sparrow doesn't allow single private key extraction in any format (hex, wif etc).

As far as I 'm concerned, OP should just create 2 different transactions. Besides, it's a wrong move to consolidate badbank with deposit accounts, even if OP says they don't care.

I am certain that programmatically you can calculate the priv/pub key-pairs that the xpriv generates, for any derivation path. But it's not implemented in Sparrow for privacy reasons. And I 'm not entirely sure it should be implemented or tried anyways.
legendary
Activity: 2730
Merit: 7065
I have never done coinjoins with Sparrow, so this is just me guessing. Does Sparrow allow you to view the private keys of all the bitcoin addresses you want to spend from? If it does, you could gather all the private keys, create a new Electrum wallet, and import the private keys associated with the addresses you want to spend from. My only concern is that it might not work because all of those "Sparrow accounts" have different derivation paths.
hero member
Activity: 714
Merit: 1010
Crypto Swap Exchange
When you have to make e.g. two transactions to transfer coins because your wallet doesn't allow you to combine all inputs into one transaction, it's not that you pay double the transaction fee. You basically pay roughly the required fee for blockspace of one additional transaction output only.

The number of transaction inputs doesn't change regardless of one or two transactions to withdraw them in this case. With one transaction you have all inputs and one output, with two transactions you have all inputs and two outputs. That's the only difference and it's quite minor.

P.S.
Of course you have the additional disadvantage of two separate UTXOs after the withdrawal with two transactions compared to one UTXO with only one transaction.
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
It isn't possible to spend separate UTXOs in different accounts in a single transaction (even if they are secured by the same recovery phrase). Wallets like Sparrow, Electrum or any other don't allow this. But it should be optional, because as the OP's case suggests, he wants to save on fees. It is crucial that this is at least optional, because everyone knows that there are times when the mempool is very congested and if the user doesn't want to spend a lot on fees, he should wait for the mempool to decongest.

If you really want to spend all the UTXOs that are allocated in different accounts, your only option is to take the child private keys where these funds are allocated and import them into a wallet imported from Electrum or Bitcoin Core, importing the account descriptors (Bitcoin Core). Bitcoin Core is the only wallet that allows spending UTXOs even if they don't belong to the same derivation path or BIP32 extended public/private keys.

This is a criticism I've with HD wallets, outside of Bitcoin core, why don't any wallets offer this feature as an option?

That's why i consider Bitcoin Core the best wallet made for Bitcoin, because with it the user has 100% control over the funds and keys (and it got even better with the descriptors).

https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md

https://sadeeqcode.medium.com/how-output-descriptors-enable-wallet-recovery-2484362856fa

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Thanks for these responses. So it looks like it's possible in principle, but difficult in practice and also a bad idea. I'll just use 2 separate transactions when miner fees come down a bit

Last time I checked, balances in different Sparrow accounts are compartmented. So I don't think sending them all at once is possible.

They are not separate wallets per se, but Sparrow separates them from each other.

All new wallets are now using native segwit addresses as created by Sparrow, so combining them isn't a problem, but no function exists to do that sort of thing yet.
full member
Activity: 350
Merit: 128
I want to send all remaining BTC out of my Sparrow wallet in a single transaction, so that I don't have to pay 2 separate miner fees to empty the wallet. Most of the balance is in the deposits sub-wallet, but there's also some in the bad bank wallet. Is it possible to send all UTXOs from entire wallet in a single transaction? I'm not concerned about mixing bad bank funds with other funds, it's not a concern for present purposes.

If you mean sub wallet as different wallet features such as Hot, trading or spot in one wallet where you hold your bitcoin, you'll need to transfer them to one feature and only then you can run at once transaction sending out all the bitcoins at once.
I won't be able to emphasize more because you didn't state what kind of wallet you hold those coins.
member
Activity: 90
Merit: 26
Thanks for these responses. So it looks like it's possible in principle, but difficult in practice and also a bad idea. I'll just use 2 separate transactions when miner fees come down a bit
hero member
Activity: 686
Merit: 1360
✔️ CoinJoin Wallet
Technically, you can generate the necessary signatures to spend from all the accounts in one transaction.
The question is if Sparrow allows this.
I would believe that they don't allow it because it's a really bad practice (for privacy reasons) and it goes against the purpose of generating the different accounts.
hero member
Activity: 448
Merit: 560
Mia's Creative
What Charles Tim said is right. If you have different wallets having different seed phrases, you won't be able to spend all of them in a single transaction. What you would have to do is manually move funds across all the wallets to a single one more like sweeping all the individual Wallets with their own transaction to one wallet before sending.

However if you are referring to child addresses on your wallet it's very possible. In fact your regular BIP39 seeds create master keys when hashed that can then be used to create child keys. The idea is an HD wallet will spend from only one child address if it can cover all the expenses of the transaction including fees if not it will consolidate funds from other addresses before sending.
hero member
Activity: 686
Merit: 1360
✔️ CoinJoin Wallet
Yes, this is exactly what I meant, thank you for the clearer explanation. Ok so it's either impossible or quite difficult. I'll just send 2 separate transactions. An extra fee is not a big deal, was really just a "theoretical" question   Cheesy

You 're welcome.
Just allow some other members to view the question too before proceeding. I am not 100% confident that it's not possible.
In fact, since the wallet is produced from the same seed phrase, there should be enough information to generate the proper signatures and combine the UTXOs.
I will need to re-check it later today.
member
Activity: 90
Merit: 26
You mean you have wallet 1, wallet 2 and wallet 3 which you named different names and you want to send all the UTXOs on the three wallets at ones in a single transaction? That is not possible. You will have to send it individually.

I think OP means they want to spend from different accounts.

When you start doing whirlpool coinjoins with Sparrow, it automatically creates some accounts for you, like in the picture:



These accounts are essentially different derivation paths.

So OP likely wants to use UTXOs from the Bad Bank account and the Deposit Account.

I think this is impossible but I 'd need some time to verify this.

EDIT: Sorry for the extra post, I just saw OP's answer.

Yes, this is exactly what I meant, thank you for the clearer explanation. Accounts, not "sub-wallets." So it's similar to HD accounts in Mycelium, where it's also impossible to spend from multiple ones in a single transaction.

Ok so it's either impossible or quite difficult. I'll just send 2 separate transactions. An extra fee is not a big deal, was really just a "theoretical" question   Cheesy
hero member
Activity: 686
Merit: 1360
✔️ CoinJoin Wallet
You mean you have wallet 1, wallet 2 and wallet 3 which you named different names and you want to send all the UTXOs on the three wallets at ones in a single transaction? That is not possible. You will have to send it individually.

I think OP means they want to spend from different accounts.

When you start doing whirlpool coinjoins with Sparrow, it automatically creates some accounts for you, like in the picture:



These accounts are essentially different derivation paths.

So OP likely wants to use UTXOs from the Bad Bank account and the Deposit Account.

I think this is impossible but I 'd need some time to verify this.

EDIT: Sorry for the extra post, I just saw OP's answer.
member
Activity: 90
Merit: 26
You mean you have wallet 1, wallet 2 and wallet 3 which you named different names and you want to send all the UTXOs on the three wallets at ones in a single transaction? That is not possible. You will have to send it individually.

No, that is not what I mean. Sparrow wallet has (or used to have) different sub-wallets, all included within a single seed phrase. There's a deposit sub-wallet, a premix sub-wallet, a post-mix and a bad bank sub-wallet. I did not chose those names, the wallet came that way. Maybe "sub-wallet" isn't the most accurate term. They're just different sections in the Sparrow UI. This feature is from when Sparrow used to do coin-join, which it stopped doing a while ago. I don't know if new instances of Sparrow wallet still have these separate parts, but my situation is that I have a Sparrow wallet from the coin-join days that I'm trying to empty out in a single transaction. Is this possible?

legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
You mean you have wallet 1, wallet 2 and wallet 3 which you named different names and you want to send all the UTXOs on the three wallets at ones in a single transaction? That is not possible. You will have to send it individually.
member
Activity: 90
Merit: 26
I want to send all remaining BTC out of my Sparrow wallet in a single transaction, so that I don't have to pay 2 separate miner fees to empty the wallet. Most of the balance is in the deposits sub-wallet, but there's also some in the bad bank wallet. Is it possible to send all UTXOs from entire wallet in a single transaction? I'm not concerned about mixing bad bank funds with other funds, it's not a concern for present purposes.
Jump to: