<p>If you run a full bitcoin node - for example bitcoin-qt, and it's in sync with the network, you can send bitcoin without a fee. It's not advisable however, since transactions stay in a memory pool waiting to be mined until a miner picks them up and adds them into a transaction block. Miners prioritize transactions with high fees attached - for obvious reasons. So you can end up with a transaction stuck in a transaction memory pool for days, sometimes weeks, after a few weeks it typically gets dropped (and returned to your wallet), although that depends on your wallet node configuration. </p>

<p>If it gets stuck there, you need to get it dropped from the memory pool. This is a nasty manual process, and your bitcoins will neither be in your wallet, nor spent during this period. </p>

<p>Generally however, when the blockchain is less busy, it will catch up and clear the memory pool. Eventually, and you will have succeeded in transfering btc for nothing...</p>

CC BY-SA 4.0
2018-07-12T10:24:25.773Z
2018-07-12T10:24:25.773Z
Owl
<p>If you don’t care about your privacy, just use <a href="https://pro.coinbase.com/" rel="nofollow noreferrer">https://pro.coinbase.com/</a>…</p>

<p>While they don’t allow to send transactions without paying fees, they will pay the fees for you…</p>

CC BY-SA 4.0
2018-07-14T04:13:07.953Z
Worth noting: privacy is not the only concern when using GDAX, they are a custodial wallet so the user will be engaging with a very different trust model (relevant: see *Off-chain transactions using a custodial service* in my answer above)
chytrik
CC BY-SA 4.0
2018-07-11T19:39:36.477Z
2020-05-31T16:09:22.597Z
2020-05-31T16:09:22.597Z
user2284570
<blockquote>
  <p>Is there a way to transfer/import bitcoin from one address to another in order to avoid transaction fees?</p>
</blockquote>

<p>No. It is not possible to move btc between addresses without publishing a transaction to the blockchain. <strong>However</strong>, there are some ways to accomplish a similar result (transferring/altering the ability to spend some coins), but I think every one of those ways will employ a different trust model than actually transacting on the blockchain. As a user, you must balance the level of trust you are comfortable with, against the need to save on transaction fees. </p>

<p>Some examples:</p>

<p><strong>Off chain transactions using a centralized service:</strong></p>

<p>This is how an exchange moves btc between accounts without incurring transaction fees. For example, when you buy/sell on a bitcoin exchange, a transaction is not actually published to the blockchain. Rather, the exchange will simply update their internal database, which keeps a ledger of all user account balances. As a user you are <em>trusting</em> that the exchange has a full reserve of all outstanding user $ and btc balances, and that they will not make an error in keeping track of your account balance.</p>

<p><strong>Off-chain transactions by exchange of private keys</strong></p>

<p>You can give someone bitcoin by simply giving them a copy of private keys for a funded address. In this situation, the recipient will need to trust that you do not own any other copies of the private keys, or that you will not spend the coins yourself if you do have a copy saved.</p>

<p>(as an aside, if you are sharing keys with a friend, and the coins are stolen by a third party, it may be impossible to prove to your friend that <em>you</em> did not simply steal the coins- and vice versa).</p>

<p><strong>Off-chain transactions by exchange of private keys, which are provably not backed up</strong></p>

<p>This is made possible by specialized hardware, such as that produced by <a href="https://opendime.com/" rel="nofollow noreferrer">OpenDime</a>. In this case, as long as you trust that the OpenDime hardware functions as advertised, you can give someone a funded OpenDime stick and they do not have to worry that you might have a backup of the keys for those coins.</p>

<p><strong>A signed transaction that is communicated off-chain</strong></p>

<p>In this case, you could sign a completely valid bitcoin transaction that sends coins to your recipients address, and then send someone the raw tx data, without publishing it to the blockchain. The recipient would be able to publish the data to the blockchain themselves, but they will have to trust you to not sign and publish a different transaction using those same outputs in the meantime. This method would also only 'delay' the spending of the tx fees. </p>

<p>(I'm honestly not aware of any actual use-case for a scheme like this. It's probably a dumb idea that requires a lot of trust, but it is possible nonetheless)</p>

<p><strong>Payment channels</strong></p>

<p>In this case, two transacting parties can lock some amount of btc into a special multi-sig address, and then trade a limitless number of partially signed transactions back and forth off chain, with no tx fees, and no need to trust the other party will not steal your bitcoin. The parties involved can only exchange value up to a maximum amount (the amount they locked into the channel), but the channel can be bi-directional, so payments can be sent back and forth basically endlessly otherwise. This method still requires a transaction fee to open and close the payment channel, but that fee now account for a vast number of 'off-chain' transactions, instead of just one or two on-chain.</p>

<p>An implementation of this idea is the lightning network, it is currently live on the bitcoin testnet.</p>

<hr>

CC BY-SA 3.0
2017-12-31T10:52:22.330Z
"trusting that coinbase ... will >not< make an error in keeping track"?
dave_thompson_085
CC BY-SA 3.0
2017-12-31T19:52:30.677Z
@dave_thompson_085 Yes, Coinbase is reputable, but ultimately with a centralized service you are trusting that their system will not make a mistake, and also that they will not just outright steal your funds. Think of it like a bank: their servers could make a mistake and report your account balance as zero, but if you are a customer of a reputable bank, that issue probably won't arise.
chytrik
CC BY-SA 3.0
2018-01-01T07:40:11.267Z
But you didn't say 'not' in your post; you said "trusting that coinbase ... will make an error".
dave_thompson_085
CC BY-SA 3.0
2018-01-01T23:36:20.763Z
@dave_thompson_085 Oh, you're right! Good eye, my mistake.
chytrik
CC BY-SA 4.0
2022-07-12T19:49:07.887Z
Could you perhaps add a sentence or two on why a transaction must pay a fee? It feels that a lot of the duplicates are asking about sending with zero fee, and while alternative approaches are addressed, the answer doesn't weigh in on why a transaction must have a fee in the first place.
Murch
CC BY-SA 4.0
2022-07-14T23:36:22.947Z
@Murch yes I think thats a good idea, I came across this answer again not long ago and was thinking it could use some improvement anyways. I'll make it a point to do so soon.
chytrik
CC BY-SA 3.0
2017-12-31T00:29:53.043Z
2018-03-20T23:00:42.617Z
2018-03-20T23:00:42.617Z
chytrik
<p>A bitcoin transaction requires paying a fee to the network, and that fee changes depending on network congestion. During busy times the fee rate may increase substantially, so how can a user avoid paying these fees in the first place? </p>

<p>Is there a way to transfer/import bitcoin from one address to another in order to avoid transaction fees?</p>

<hr>

<p>(I'm posting this question because I was writing a reply to a similar question, and halfway through writing that reply, the question was voted closed)</p>

<transactions><transaction-fees><blockspace-market><offline-transactions><off-chain>
How can I avoid paying transaction fees?
chytrik
# How can I avoid paying transaction fees?

(Asked by: username_0 on 2017-12-31)

A bitcoin transaction requires paying a fee to the network, and that fee changes depending on network congestion. During busy times the fee rate may increase substantially, so how can a user avoid paying these fees in the first place?

Is there a way to transfer/import bitcoin from one address to another in order to avoid transaction fees?

---

(I'm posting this question because I was writing a reply to a similar question, and halfway through writing that reply, the question was voted closed)

**Tags:** transactions, transaction-fees, blockspace-market, offline-transactions, off-chain


---

## 3 answers

### Answer by username_0 on 2017-12-31. Score: 8 | Accepted answer

> Is there a way to transfer/import bitcoin from one address to another in order to avoid transaction fees?

No. It is not possible to move btc between addresses without publishing a transaction to the blockchain. **However**, there are some ways to accomplish a similar result (transferring/altering the ability to spend some coins), but I think every one of those ways will employ a different trust model than actually transacting on the blockchain. As a user, you must balance the level of trust you are comfortable with, against the need to save on transaction fees.

Some examples:

**Off chain transactions using a centralized service:**

This is how an exchange moves btc between accounts without incurring transaction fees. For example, when you buy/sell on a bitcoin exchange, a transaction is not actually published to the blockchain. Rather, the exchange will simply update their internal database, which keeps a ledger of all user account balances. As a user you are *trusting* that the exchange has a full reserve of all outstanding user $ and btc balances, and that they will not make an error in keeping track of your account balance.

**Off-chain transactions by exchange of private keys**

You can give someone bitcoin by simply giving them a copy of private keys for a funded address. In this situation, the recipient will need to trust that you do not own any other copies of the private keys, or that you will not spend the coins yourself if you do have a copy saved.

(as an aside, if you are sharing keys with a friend, and the coins are stolen by a third party, it may be impossible to prove to your friend that *you* did not simply steal the coins- and vice versa).

**Off-chain transactions by exchange of private keys, which are provably not backed up**

This is made possible by specialized hardware, such as that produced by [OpenDime](https://opendime.com/). In this case, as long as you trust that the OpenDime hardware functions as advertised, you can give someone a funded OpenDime stick and they do not have to worry that you might have a backup of the keys for those coins.

**A signed transaction that is communicated off-chain**

In this case, you could sign a completely valid bitcoin transaction that sends coins to your recipients address, and then send someone the raw tx data, without publishing it to the blockchain. The recipient would be able to publish the data to the blockchain themselves, but they will have to trust you to not sign and publish a different transaction using those same outputs in the meantime. This method would also only 'delay' the spending of the tx fees.

(I'm honestly not aware of any actual use-case for a scheme like this. It's probably a dumb idea that requires a lot of trust, but it is possible nonetheless)

**Payment channels**

In this case, two transacting parties can lock some amount of btc into a special multi-sig address, and then trade a limitless number of partially signed transactions back and forth off chain, with no tx fees, and no need to trust the other party will not steal your bitcoin. The parties involved can only exchange value up to a maximum amount (the amount they locked into the channel), but the channel can be bi-directional, so payments can be sent back and forth basically endlessly otherwise. This method still requires a transaction fee to open and close the payment channel, but that fee now account for a vast number of 'off-chain' transactions, instead of just one or two on-chain.

An implementation of this idea is the lightning network, it is currently live on the bitcoin testnet.

---

> **Comments:**
> **username_3**: "trusting that coinbase ... will >not< make an error in keeping track"?  
> **username_0**: @username_3 Yes, Coinbase is reputable, but ultimately with a centralized service you are trusting that their system will not make a mistake, and also that they will not just outright steal your funds. Think of it like a bank: their servers could make a mistake and report your account balance as zero, but if you are a customer of a reputable bank, that issue probably won't arise.  
> **username_3**: But you didn't say 'not' in your post; you said "trusting that coinbase ... will make an error".  
> **username_0**: @username_3 Oh, you're right! Good eye, my mistake.  
> **username_4**: Could you perhaps add a sentence or two on why a transaction must pay a fee? It feels that a lot of the duplicates are asking about sending with zero fee, and while alternative approaches are addressed, the answer doesn't weigh in on why a transaction must have a fee in the first place.  
> **username_0**: @username_4 yes I think thats a good idea, I came across this answer again not long ago and was thinking it could use some improvement anyways. I'll make it a point to do so soon.  

---

### Answer by username_1 on 2018-07-12. Score: 1

If you run a full bitcoin node - for example bitcoin-qt, and it's in sync with the network, you can send bitcoin without a fee. It's not advisable however, since transactions stay in a memory pool waiting to be mined until a miner picks them up and adds them into a transaction block. Miners prioritize transactions with high fees attached - for obvious reasons. So you can end up with a transaction stuck in a transaction memory pool for days, sometimes weeks, after a few weeks it typically gets dropped (and returned to your wallet), although that depends on your wallet node configuration.

If it gets stuck there, you need to get it dropped from the memory pool. This is a nasty manual process, and your bitcoins will neither be in your wallet, nor spent during this period.

Generally however, when the blockchain is less busy, it will catch up and clear the memory pool. Eventually, and you will have succeeded in transfering btc for nothing...


---

### Answer by username_2 on 2018-07-11. Score: -3

If you don’t care about your privacy, just use <https://pro.coinbase.com/>…

While they don’t allow to send transactions without paying fees, they will pay the fees for you…

> **Comments:**
> **username_0**: Worth noting: privacy is not the only concern when using GDAX, they are a custodial wallet so the user will be engaging with a very different trust model (relevant: see *Off-chain transactions using a custodial service* in my answer above)  

---

