<blockquote>
<p>Fees are way to big ... How can i send everything from one big address and pay only 20$ usd fee [the default bitcoin fee, i see on some services, 5 usd]?<br><br></p>
</blockquote>
<p>To spend from a bigger amount instead of several small, you must have it. If you fragment your bitcoin holdings sending small amount (for testing purpose or any other reason) to your other addresses, then when you would send it further, you should bind several of them, taking up more space on the blockchain and consequently paying higher fee.<br>
You choose the fee amount, maybe you overpay it ... anyway there is many factor that are involved in fee calculation so there is many ways to minimizing them, you can start here: <a href="https://en.bitcoin.it/wiki/Techniques_to_reduce_transaction_fees" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Techniques_to_reduce_transaction_fees</a>
<br><br></p>
<blockquote>
<p>I believe i pay per vbyte ... but i want to send internally with low or no fees or something.<br><br></p>
</blockquote>
<p>There is not &quot;send internally&quot;: either you can use Bitcoin testnet, that works with valueless testbitcoin you can have for free, or you use mainnet and your transactions pay as any other.<br><br></p>
<blockquote>
<p>How big payment gateways like coingate/coinpayments/bitpay are doing this? They too create an address for every transaction ...<br><br></p>
</blockquote>
<p>When payment gateways make payments, they aggregate them: they aggregate multiple inputs (customer deposits) with multiple output (customer withdrawals) in a single big transaction that pay a very big fee, but which is always lower than they would pay with many small transactions; moreover they collecting 5$ you say from any single customer that is paid with the big transaction (and some service also from customers who deposit).<br></p>

CC BY-SA 4.0
2021-04-28T18:30:25.243Z
This is unrelated to the number of addresses involved. Any output being spent costs fees, regardless of whether they're to the same address or not.
Pieter Wuille
CC BY-SA 4.0
2021-03-30T10:07:56.967Z
i have like 100 address sending on one big wallet, i pay 500usd sometimes ... for a transaction ... so the big payment gateways are making some sort of custom transaction for what i understood ... more details for that please ? i mean how can i have a payment system that accepts on multiple wallets, lets say 100 but don't have to pay such amount of big fee ...
dotifag851
CC BY-SA 4.0
2021-03-30T12:22:42.083Z
I'm not sure i understood why you want to send from 100 addresses to one ... if you setup an address for each of your customer, all these address belong to your wallet (and then contribute to your total wallet balance) but when users deposit funds to the address you assigned them, they will pay the bitcoin network fees. After that if you should pay customers withdrawals, you can wait minutes or hours to have a large number of withdrawals and then aggregate them in one big transaction that take funds from all (or many) deposits made on your addresses and pay all withdrawals users requested.
leevancleef
CC BY-SA 4.0
2021-03-30T12:23:44.770Z
a Bitcoin transaction with multiple input and multiple output is the standard, is not a "sort of custom transaction".
leevancleef
CC BY-SA 4.0
2021-03-31T07:44:45.193Z
"i'm not sure i understood why you want to send from 100 addresses to one" - i am getting the funds from them trough multiple addresses so i can know who sent what then i must send all those coins to my big account, there is no such thing as user withdrawing, only i get all the coins to my big wallet ... big payment gateway do the same, they create a wallet for every transaction ...
dotifag851
CC BY-SA 4.0
2021-03-31T17:20:30.550Z
leaving out why you want to do this ... i can give you 3 quick tips to reduce fees: 1' lower confirmation target (bitcoin-cli sendtoaddress "MY_BIG_WALLET" 0.1 "" "" true "" 25 "ECONOMICAL") ... this raise confirmation time to hours or days but it lowers commissions a lot, 25 is the number of block expected to wait, you can choose from 2 to 25, 2' do transaction on weekend, 3' use bech32 addresses  ... and read the guide i linked above.
leevancleef
CC BY-SA 4.0
2021-04-04T09:55:37.060Z
`2-of-3 multisig  369  206  44% ` from the article, how to implement that ?  Is the better saving i see. Also no matter what, if i get money on 100 addresses i will still get in the big wallet from 100 addresses, no matter what, so is there a work-around? What i understood from you, the only way is to lower fees trough some techniques ...
dotifag851
CC BY-SA 4.0
2021-04-04T09:57:14.473Z
also i did `bitcoin-cli sendtoaddress "MY_BIG_WALLET_BECH32" 0.1 "" "" true` that begins with `bc1....` and same results i get, and i know segwit addresses are more efficient with blockspace ... but was the same think ... big fee as well
dotifag851
CC BY-SA 4.0
2021-04-04T20:42:00.013Z
your case is "single signature", you can achieve the 26% saving receiving from bech32 addresses, so the addr you generate for your customers should be bech32 (bc1..). you save when you receive from bech32 addr not when you receive to a  bech32 addr but sending address are standard 1...
leevancleef
CC BY-SA 4.0
2021-04-04T20:42:23.443Z
multi-signature are a different use case: https://en.bitcoin.it/wiki/Multi-signature
leevancleef
CC BY-SA 4.0
2021-04-04T20:49:51.633Z
how much sat/vbyte are you paying for your transactions?
leevancleef
CC BY-SA 4.0
2021-04-05T15:20:07.613Z
" customers should be bech32 (bc1..)" ... all my payment addresses are bc1...  but clients have their own normal addresses, the 26% will only apply from bc1 to bc1 ? ---
Fee per byte 40 satoshi --- Fee per vbyte 76 satoshi --- Input count / Output count 141 / 1 --- Size 23,229
dotifag851
CC BY-SA 4.0
2021-04-07T08:17:11.803Z
"but clients have their own normal addresses" > this makes no difference, as customers pay it's own commissions when they send.
"the 26% will only apply from bc1 to bc1 ?" > no, only sending addresses matters, so only them must be bech32 to fully benefit from discount ... but sending to a bech32 addr give you the opportunity to benefit from discount next time you need to send.
leevancleef
CC BY-SA 4.0
2021-04-07T08:18:47.493Z
"Fee per vbyte 76 satoshi" > if you want you can manually choose how many sat / vbyte you want to pay, in case I suggest you to enable the Replace By the Fee (or RBF) option, so you can increase the fees later if you have choice them too low.
I also suggest you to check this website: mempool.space to see what fees people are actually paying for their transactions, so you can adjust yours to the current situation.
leevancleef
CC BY-SA 4.0
2021-04-14T22:31:01.520Z
thank you, you are so kind, i will try at next sendings to see what happens, basically i have to get payments on a bc1... addresses then send them to a big bc1... wallet wit smaller fees and wait like 1 week or more till network is light enough to confirm my transaction ... also think about that i might got 100 150 payments so even if i make transaction lets say , 30 sat / vbyte .. it will be like 30 * 150  to pay, right?
dotifag851
CC BY-SA 4.0
2021-04-14T22:35:29.727Z
i still don't understand how big payment gateways are overcoming this issue, thus it seems that they too are creating an address for every invoice, like they are one time use ... think about, for every address they have to pay at least 3 4 usd to send their money anywhere
dotifag851
CC BY-SA 4.0
2021-03-29T16:50:18.837Z
2021-03-29T16:59:13.743Z
2021-03-29T16:59:13.743Z
leevancleef
<p>I am using the <code>bitcoin-rpc</code> and everytime i create an invoice from a PHP script, i create a new address. All is ok, i get the money after, i have a script that checks number of confirmations, then when i try to send my money back to another wallet i see 300 400 usd in fees</p>
<p><code>bitcoin-cli sendtoaddress &quot;MY_BIG_WALLET&quot; 0.1 &quot;&quot; &quot;&quot; true</code></p>
<p>When i look on blockchain i see that that everything were sent from every address that i have created</p>
<p>ADDRESS1 ... 0.06</p>
<p>ADDRESS2 ... 0.03</p>
<p>ADDRESS2 ... 0.078</p>
<p>... and so on</p>
<p>Fees are way to big ... How can i send everything from one big address and pay only 20$ usd fee [the default bitcoin fee, i see on some services, 5 usd]?</p>
<p>I believe i pay per vbyte ... but i want to send internally with low or no fees or something.</p>
<p>How big payment gateways like coingate/coinpayments/bitpay are doing this? They too create an adress for every transaction ...</p>
<p>Thank you.</p>

<bitcoin-core><transactions><transaction-fees>
bitcoin payment has big fees
dotifag851
# bitcoin payment has big fees

(Asked by: username_0 on 2021-03-29)

I am using the `bitcoin-rpc` and everytime i create an invoice from a PHP script, i create a new address. All is ok, i get the money after, i have a script that checks number of confirmations, then when i try to send my money back to another wallet i see 300 400 usd in fees

`bitcoin-cli sendtoaddress "MY_BIG_WALLET" 0.1 "" "" true`

When i look on blockchain i see that that everything were sent from every address that i have created

ADDRESS1 ... 0.06

ADDRESS2 ... 0.03

ADDRESS2 ... 0.078

... and so on

Fees are way to big ... How can i send everything from one big address and pay only 20$ usd fee [the default bitcoin fee, i see on some services, 5 usd]?

I believe i pay per vbyte ... but i want to send internally with low or no fees or something.

How big payment gateways like coingate/coinpayments/bitpay are doing this? They too create an adress for every transaction ...

Thank you.

**Tags:** bitcoin-core, transactions, transaction-fees


---

## 1 answers

### Answer by username_1 on 2021-03-29. Score: 1

> Fees are way to big ... How can i send everything from one big address and pay only 20$ usd fee [the default bitcoin fee, i see on some services, 5 usd]?

To spend from a bigger amount instead of several small, you must have it. If you fragment your bitcoin holdings sending small amount (for testing purpose or any other reason) to your other addresses, then when you would send it further, you should bind several of them, taking up more space on the blockchain and consequently paying higher fee.  
You choose the fee amount, maybe you overpay it ... anyway there is many factor that are involved in fee calculation so there is many ways to minimizing them, you can start here: <https://en.bitcoin.it/wiki/Techniques_to_reduce_transaction_fees>

> I believe i pay per vbyte ... but i want to send internally with low or no fees or something.

There is not "send internally": either you can use Bitcoin testnet, that works with valueless testbitcoin you can have for free, or you use mainnet and your transactions pay as any other.

> How big payment gateways like coingate/coinpayments/bitpay are doing this? They too create an address for every transaction ...

When payment gateways make payments, they aggregate them: they aggregate multiple inputs (customer deposits) with multiple output (customer withdrawals) in a single big transaction that pay a very big fee, but which is always lower than they would pay with many small transactions; moreover they collecting 5$ you say from any single customer that is paid with the big transaction (and some service also from customers who deposit).

> **Comments:**
> **username_0**: i have like 100 address sending on one big wallet, i pay 500usd sometimes ... for a transaction ... so the big payment gateways are making some sort of custom transaction for what i understood ... more details for that please ? i mean how can i have a payment system that accepts on multiple wallets, lets say 100 but don't have to pay such amount of big fee ...  
> **username_1**: I'm not sure i understood why you want to send from 100 addresses to one ... if you setup an address for each of your customer, all these address belong to your wallet (and then contribute to your total wallet balance) but when users deposit funds to the address you assigned them, they will pay the bitcoin network fees. After that if you should pay customers withdrawals, you can wait minutes or hours to have a large number of withdrawals and then aggregate them in one big transaction that take funds from all (or many) deposits made on your addresses and pay all withdrawals users requested.  
> **username_1**: a Bitcoin transaction with multiple input and multiple output is the standard, is not a "sort of custom transaction".  
> **username_0**: "i'm not sure i understood why you want to send from 100 addresses to one" - i am getting the funds from them trough multiple addresses so i can know who sent what then i must send all those coins to my big account, there is no such thing as user withdrawing, only i get all the coins to my big wallet ... big payment gateway do the same, they create a wallet for every transaction ...  
> **username_1**: leaving out why you want to do this ... i can give you 3 quick tips to reduce fees: 1' lower confirmation target (bitcoin-cli sendtoaddress "MY_BIG_WALLET" 0.1 "" "" true "" 25 "ECONOMICAL") ... this raise confirmation time to hours or days but it lowers commissions a lot, 25 is the number of block expected to wait, you can choose from 2 to 25, 2' do transaction on weekend, 3' use bech32 addresses  ... and read the guide i linked above.  
> **username_0**: `2-of-3 multisig  369  206  44% ` from the article, how to implement that ?  Is the better saving i see. Also no matter what, if i get money on 100 addresses i will still get in the big wallet from 100 addresses, no matter what, so is there a work-around? What i understood from you, the only way is to lower fees trough some techniques ...  
> **username_0**: also i did `bitcoin-cli sendtoaddress "MY_BIG_WALLET_BECH32" 0.1 "" "" true` that begins with `bc1....` and same results i get, and i know segwit addresses are more efficient with blockspace ... but was the same think ... big fee as well  
> **username_1**: your case is "single signature", you can achieve the 26% saving receiving from bech32 addresses, so the addr you generate for your customers should be bech32 (bc1..). you save when you receive from bech32 addr not when you receive to a  bech32 addr but sending address are standard 1...  
> **username_1**: multi-signature are a different use case: https://en.bitcoin.it/wiki/Multi-signature  
> **username_1**: how much sat/vbyte are you paying for your transactions?  
> **username_0**: " customers should be bech32 (bc1..)" ... all my payment addresses are bc1...  but clients have their own normal addresses, the 26% will only apply from bc1 to bc1 ? --- Fee per byte 40 satoshi --- Fee per vbyte 76 satoshi --- Input count / Output count 141 / 1 --- Size 23,229  
> **username_1**: "but clients have their own normal addresses" > this makes no difference, as customers pay it's own commissions when they send. "the 26% will only apply from bc1 to bc1 ?" > no, only sending addresses matters, so only them must be bech32 to fully benefit from discount ... but sending to a bech32 addr give you the opportunity to benefit from discount next time you need to send.  
> **username_1**: "Fee per vbyte 76 satoshi" > if you want you can manually choose how many sat / vbyte you want to pay, in case I suggest you to enable the Replace By the Fee (or RBF) option, so you can increase the fees later if you have choice them too low. I also suggest you to check this website: mempool.space to see what fees people are actually paying for their transactions, so you can adjust yours to the current situation.  
> **username_0**: thank you, you are so kind, i will try at next sendings to see what happens, basically i have to get payments on a bc1... addresses then send them to a big bc1... wallet wit smaller fees and wait like 1 week or more till network is light enough to confirm my transaction ... also think about that i might got 100 150 payments so even if i make transaction lets say , 30 sat / vbyte .. it will be like 30 * 150  to pay, right?  
> **username_0**: i still don't understand how big payment gateways are overcoming this issue, thus it seems that they too are creating an address for every invoice, like they are one time use ... think about, for every address they have to pay at least 3 4 usd to send their money anywhere  
> **username_2**: This is unrelated to the number of addresses involved. Any output being spent costs fees, regardless of whether they're to the same address or not.  

---

