electrum – Why are Paxful transaction fees so low?

Paxful has withdrawal fees, as any other exchange or Bitcoin service that I am aware of: sending bitcoin is costly, so it will be very unlikely that some company will send you btc without charging a fee.

This is from Paxful Fees webpage:

enter image description here

So Paxful charge you with 0,0004 btc if you withdraw more than 20$, which is usually more than you have to pay to send a standard transaction with Electrum.

As a side note I tell you that in the last few days Bitcoin network fees went crazy, a sharp hashrate reduction has created a long queue of pending transactions and sent commissions to the highest level for 3 years now; so right now you can pay more than 0,0004 btc but it’s a very rare case as you can see at this historical chart: https://jochen-hoenicke.de/queue/#BTC,all,count

multi signature – How do you sign an unsigned transaction using Electrum in a multisig setup?

I am experimenting with multisig in testNet between Electrum and Caravan by Unchained Capital. I created a 2-of-2 multisig in Electrum with BIP 39 seeds.

I then created a watch-only wallet in Caravan with master public keys. The issues occur when I try to make a transaction in Caravan. For each of the 2 private keys, I need to sign the raw transaction that Caravan provides, but I don’t know how to perform that action in Electrum to create the signature. Is it possible to do this on Electrum or do I need some other software?
Carvan transaction

multi signature – How do you sign an unsigned transcation using electrum in a multisig setup?

I am experimenting with multisig in testNet between Electrum and Caravan by Unchained Capital. I created a 2 of 2 multisig in Electrum with BIP 39 seeds.

I then created a watch-only wallet in Caravan with master public keys. The issues occur when I try to make a transaction in Caravan. For each of the 2 private keys, I need to sign the raw transaction that Caravan provides, but I don’t know how to perform that action in Electrum to create the signature. Is it possible to do this on Electrum or do I need some other software?
Carvan transaction

Can I spend from multiple wallets in Electrum (or somehow import/merge them)?

Is it possible, in Electrum, to merge wallets, and or do a transfer using multiple wallet keys? I have some dust in a wallet and would like to get it out. I’m hoping I can easily incorporate it into another payment.

Given the sum of the dust, this is primarily a curiosity. I know it’s possible in the protocol, but wondering whether there’s a high level way, or even a command-line way.

How can Electrum restore a wallet?

1]2]
Electrum uses so called “Deterministic wallets”. In short this basically means that your entire wallet can be recovered using the seed.

Even if you delete the wallet file/ have no private keys, the seed will give you full access.

3] Either every private key of each adress that you used, or the seed.

electrum wallet console – how to get help on a command

AFAIK, there is no way to get documentation from inside the Console itself. However, you can browse the source code:

https://github.com/spesmilo/electrum/blob/master/lib/commands.py

Alternatively, this article lists all built-in functions, their arguments, and provides many examples of use/output:

https://bitzuma.com/posts/an-introduction-to-the-electrum-python-console/

Details decryption electrum wallet (in golang)

How can I manually decrypt the modern versions of Electrum wallets and how do they differ from the old versions?

I tried:

encKey := doubleSHA(()byte("password"))
ciphertext, err := base64.StdEncoding.DecodeString("***base64 string from the wallet***")
if err != nil {
    panic(err)
}

block, err := aes.NewCipher(encKey)
if err != nil {
    panic(err)
}
blockSize := block.BlockSize()
iv := ciphertext(:blockSize)

ciphertext = ciphertext(blockSize:)
    
if len(ciphertext)%blockSize != 0 {
    panic("ciphertext is not a multiple of the block size")
}

mode := cipher.NewCBCDecrypter(block, ()byte(iv))
mode.CryptBlocks(ciphertext, ciphertext)

fmt.Printf("%sn", ciphertext)

But it doesn’t work: panic: ciphertext is not a multiple of the block size

electrum – Is multisig wallet simply a combination of many singlesig wallets?

I’m trying to create a multisig wallet for the first time.

My pre-understanding is that multisig wallet is simply a combination of many singlesig address.

So for example I have 3 existing singlesig wallets:

  1. electrum wallet
  2. Bluewallet
  3. Coldcard wallet

Can I just simply use the xpubs of the wallets to create a multisig wallet?

Is my understanding multisig correct?

If you have coldcard, you know that there is a multisig menu in coldcard. So if creating multisig is simply inserting the coldcard’s xpub to electrum (where the multisig is going to be created) then I don’t need to care about the multisig menu on coldcard? Same with bluewallet, I don’t need to create a vault wallet in there?

Can’t sign transactions from a multisig Trezor Electrum wallet

I created a multisig wallet using Electrum 4.0.9 using a single Trezor T, which turned out to be quite the stupid mistake once I sent over a fairly large amount of BTC and attempted to sign and send it elsewhere, which resulted in an error stating that the multisig xpubs could not be parsed. Using the main multisig wallet would not even allow me to partially sign an outgoing transaction.

Electrum allowed me to set up the wallet using the same device when I used two different derivatives, one being ” m/48’/0’/0’/2′ “, and the other ” m/48’/0’/0’/3′ “.

I attempted to create a new hardware walllet for each co-signer with their respective derivative paths, so that I could export the original transaction and partially sign from both, which only resulted in an invalid derivation path error.

Any advice to help me past this shortsighted screw up would be greatly appreciated.

electrum – Can’t Access funds due to derivation path

I created a seed phrase and public key via the following Node.js code:

const mnemonic =  bip39.generateMnemonic()
const seed = await bip39.mnemonicToSeed(mnemonic)
const node = bip32.fromSeed(seed)
const xPubString = node.neutered().toBase58()

Then I used BTCPay Server to generate an address for this public key and sent funds to that address. The transaction is confirmed on the chain and shows up in BTCPay Server. However, I’m trying to load this wallet via seed phrase into either Electrum or Wasabi wallets to be able to spend the funds. I can’t get the funds to show up in either application. I believe this has to be a problem with using the correct Derivation Path because I’m not sure what the above code defaults to. I can confirm that the address starts with bc1, so I think that tells me that the Derivation Path should be m/84'/0'/0', but it doesn’t work.

I’ve tried just about every combination of Derivation Path I can think of to try to get the funds but nothing seems to show up. Any recommendations?