I've seen two techniques when it comes to transferring funds from a cold wallet to a hot wallet. In one technique the cold wallet signs a transaction (offline of course) and transfers funds to the hot wallet using an on chain transaction. In the second technique, the PK itself is transferred from the cold wallet to the hot wallet. Besides for saving on transaction fees with the second approach - is there any benefit of one technique over the other? Or are they basically equivalent form a convenience/security standpoint?

  • 1
    Transferring the Private Key to the hot wallet, or signing your target transaction from an offline device, is generally better because it is faster (no time spent waiting for an on-chain tx to clear), cheaper (as you stated, no extra tx fees), and wallet reuse has several security & privacy implications anywise, thus is most always discouraged. Feb 1 '21 at 1:58

If you want to keep your cold wallet cold, then you shouldn't be importing privkeys to an online device. If the goal is to ultimately send BTC out of your wallet(s), then you can skip the hot-wallet step entirely: just send from the cold wallet to the final recipient(s). Otherwise, having to export and handle the privkeys will create additional security considerations and risks, that likely do not outweight the benefits of easier spending from the cold wallet (in some ways, the point of a cold wallet is that it isn't easy to spend from, after all).

Keep in mind that there are security considerations involved in importing privkeys from an HD wallet: if you are using non-hardened key derivation, then knowing a child privkey + parent xpub will allow someone to derive the parent privkey. Leaking a child privkey can therefore compromise all other child privkeys at the same derivation level.

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.