I understand that when you are sending bitcoin to someone normally you should send some money back to yourself as change. Normally wallets do this automatically for you.(Wallets normally generate a new change address for each transaction, but I can do it by myself programmatically). Lets say I have a wallet thats a very active and need to handle multiple transactions per day, so not a traditional cold storage where you just top up bitcoin and hold but some kind of hot wallet that is responsible to pay people once certain action occurs on your website(for example e-commerce). From a security perspective you dont want to have too much money in your hot wallet for an obvious reasons but at the same time you want to have flexibility to send money to your customers when they need that.

For the sake of simplicity I will provide an example:

Imagine you have to send on average around 5 bitcoin a day and you can possibly have 2 scenarios. 1.You top up your wallet address every day with 7 bitcoin so it covers all possible payment orders(in case you need to pay more you just top up your deposit address again from your cold storage). Or the second scenario 2. You deposit 100 bitcoins to this address which means you will have enough money to operate your business most likely around 20 days without worrying about the balance and having enough money to send to your customer before the next top up. The problem here: If in the second case I will be sending quite a decent amount of money back to myself as a change, is the fact that the value of transaction will be significantly higher going to affect my transaction fees even if most of the money will end up in my new "hot wallet" address?

The whole idea of sending money back to myself as change for every transaction looks ridiculous to me. Does that even mean that lets say someone who has got 100000 bitcoins and this person needs to send only 1 bitcoin to someone that the person will have to send over 99000bitcoins as a change, what kind of ridiculous fee would need this person to pay to actually pay someone a small fraction of his wealth, literally in the traditional old school fashioned banking you have 50 billion dollars you can send 1 dollar to someone without moving 49 billion to a different account and paying another 900 million to do that. Can somebody clarify this for me and give me an actual example of an ecommerce store that wants to pay its customers, what is the most effective way of doing that.

1 Answer 1


Fees have noting to do with value being transferred. In Bitcoin network, you pay for space used, not value. Given that, a wallet must avoid having multiple small value change.
Let me give you an example:
Say A is an exchange and have one big UTXO with 100 Bitcoins, and it makes 100 withdraws, each one as a transaction. Then, each transaction has 1 input and 2 outputs, the input on transaction n is change from n - 1. Thus, all transactions pays the same fee, independent if the change is 0.0000001 Bitcoin or 100.
On the other hand, if this exchange has 1.01 Bitcoin, but in 100 small UTXOs, and wants to send 1 Bitcoin to someone, even though change is only about 0.01 Bitcoins, fees will be high because 100 inputs consume a lot of space.

  • thanks I think I understand that, I found some transactions on the mainnet and I am quite surprised so technically even if you are sending $10 to someone it can cost you more then coinbase making withdrawals of $100000 for multiple people.
    – Vladimir
    Apr 2, 2022 at 18:23
  • Yeap! We had cases of people sending 1M worth of USD for like 10 cents. It depends on the transaction size and fee market, since fees are the size of a transaction multiplied by the fee/vbyte. Apr 3, 2022 at 14:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.