<p>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 <em>isn't</em> easy to spend from, after all).</p>
<p>Keep in mind that there are security considerations involved in importing privkeys from an HD wallet: if you are using non-hardened key derivation, <a href="https://bitcoin.stackexchange.com/questions/76296/can-we-derive-parent-s-private-key-using-child-s-private-key">then knowing a child privkey + parent xpub will allow someone to derive the parent privkey</a>. Leaking a child privkey can therefore compromise all other child privkeys at the same derivation level.</p>

CC BY-SA 4.0
2021-02-01T05:01:21.740Z
2021-02-01T05:01:21.740Z
chytrik
<p>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?</p>

CC BY-SA 4.0
2021-02-01T01:58:19.097Z
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.
Robherc KV5ROB
<transactions><wallet><transaction-fees><security>
Transferring funds from a cold wallet to a hot wallet - on chain or off chain?
S.O.S
# Transferring funds from a cold wallet to a hot wallet - on chain or off chain?

(Asked by: username_0 on 2021-02-01)

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?

**Tags:** transactions, wallet, transaction-fees, security

> **Comments:**
> **username_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.  

---

## 1 answers

### Answer by username_2 on 2021-02-01. Score: 1

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](https://bitcoin.stackexchange.com/questions/76296/can-we-derive-parent-s-private-key-using-child-s-private-key). Leaking a child privkey can therefore compromise all other child privkeys at the same derivation level.


---

