Author

Topic: Bitcoin Core 0.12.0 forces me to pay a certain fee. (Read 2163 times)

legendary
Activity: 2170
Merit: 1427
I feel like a very dumb person right now. I saved the raw transaction form with the address : 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP that I used previously. And today I wanted to send 0.0348 to my exchange account, but I forgot to change the receiver address, and now I lost these coins for ever as I deleted that wallet file. I am glad I made this mistake with a small amount right now, and not later with a large amount. I know what I did wrong now.

I removed the address from the form and changed it to "INSERT RECEIVE ADDRESS HERE''. If I again forget to add the right receiving address, it won't send the coins to the wrong address anymore. Cheesy

I presume you don't have an old backup somewhere?

That's correct. I usually do make backups of all new created wallet files, but not in this case as it was supposed to be used only once.
legendary
Activity: 4228
Merit: 1313
I feel like a very dumb person right now. I saved the raw transaction form with the address : 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP that I used previously. And today I wanted to send 0.0348 to my exchange account, but I forgot to change the receiver address, and now I lost these coins for ever as I deleted that wallet file. I am glad I made this mistake with a small amount right now, and not later with a large amount. I know what I did wrong now.

I removed the address from the form and changed it to "INSERT RECEIVE ADDRESS HERE''. If I again forget to add the right receiving address, it won't send the coins to the wrong address anymore. Cheesy

I presume you don't have an old backup somewhere?
legendary
Activity: 2170
Merit: 1427
I feel like a very dumb person right now. I saved the raw transaction form with the address : 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP that I used previously. And today I wanted to send 0.0348 to my exchange account, but I forgot to change the receiver address, and now I lost these coins for ever as I deleted that wallet file. I am glad I made this mistake with a small amount right now, and not later with a large amount. I know what I did wrong now.

I removed the address from the form and changed it to "INSERT RECEIVE ADDRESS HERE''. If I again forget to add the right receiving address, it won't send the coins to the wrong address anymore. Cheesy
legendary
Activity: 2170
Merit: 1427
Thanks for the help, I will try out the multi input transaction when I need to send one. @shorena, small tip is sent to your profile address.

It's quite weird that Bitcoin Core is behaving like this as this is exactly what causes the mempool to fill up due to very low fee transactions. I hope it will get fixed.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Looks good except for the "." I think they have to be ",", but Im not 100% sure if not both are possible. Below is the boiler is usually use. It also has several outputs. Keep in mind to remove the "," if you only use one.

Doh - I had meant to type a comma but somehow ended up adding a full-stop (the problem with not actually testing something you post). Thanks for correcting that silly mistake.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
-snip-
Thanks man, I managed to send the entire balance with a custom fee. I will keep this form so I can use it from now on.

What if there are several unspent inputs that I want to send at once to a single address. What form do I need to use then?

Give me your address and I'll send you a small tip as you helped me very well.

Great, you can use the address from my profile ( 1HZG6bTazS4AApVEnJciGRWSkQk67Vwhq5 )

What if there are several unspent inputs that I want to send at once to a single address. What form do I need to use then?

You can add other inputs as per this:

Code:
createrawtransaction
"[
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":0}.
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":1}.
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":2}
]"
"{\"1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP\":0.0348}"

(assuming that the same txid had three UTXOs with vout's 0, 1 and 2 that you owned - I think the format I've used above is correct but you should verify that with the createrawtransaction documentation)


Looks good except for the "." I think they have to be ",", but Im not 100% sure if not both are possible. Below is the boiler is usually use. It also has several outputs. Keep in mind to remove the "," if you only use one.

Code:
createrawtransaction
"[
{\"txid\":\"-tx id-\",\"vout\":23},
{\"txid\":\"-tx id-\",\"vout\":4}
]"
"{\"-adr-\":0.12345678,\"-adr-\":0.12345678}"

A common error that happens to me and you might look out for is that when I paste a TX ID or address I sometimes mark one of the "\" or "," which makes the entire string invalid. Its working better now that I have added the "-".
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
What if there are several unspent inputs that I want to send at once to a single address. What form do I need to use then?

You can add other inputs as per this:

Code:
createrawtransaction
"[
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":0}.
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":1}.
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":2}
]"
"{\"1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP\":0.0348}"

(assuming that the same txid had three UTXOs with vout's 0, 1 and 2 that you owned - I think the format I've used above is correct but you should verify that with the createrawtransaction documentation)
legendary
Activity: 2170
Merit: 1427
-snip-

Alright, lets see what we have.

This -> https://www.blocktrail.com/BTC/address/12oWtmuwHipw9rC9BYUuMGWMWB3RxMsxUN/transactions/in/0
tells me that you have one unspend input here -> https://www.blocktrail.com/BTC/tx/040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83
worth 0.035 BTC.

So we have the TX ID and vout 0 (because its the 1st output of the TX and those writing code tend to start counting at 0)

Receiving address is 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP and a 0.0002 fee leaves us with 0.0348.

Putting that all together gives us[1]:

Code:
createrawtransaction
"[
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":0}
]"
"{\"1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP\":0.0348}"

core responds with:

Code:
0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

which is your unsigned raw transaction.

You can verify it with:

Code:
decoderawtransaction 0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

in order to sign it you need to unlock your wallet. Lets assume your password is 'passw0rd' and you want to unlock your wallet for 60 seconds.

Code:
walletpassphrase passw0rd 60

sign it with:

Code:
signrawtransaction 0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

and broadcast it to the network with:

Code:
sendrawtransaction the_hexcode_that_was_returned_after_you_signed_it



[1] If you do this with your own wallet you can just use:

Code:
listunspent 1 9999999 "[\"1address\"]"

it directly shows the TX IDs and vout to use.

Thanks man, I managed to send the entire balance with a custom fee. I will keep this form so I can use it from now on.

What if there are several unspent inputs that I want to send at once to a single address. What form do I need to use then?

Give me your address and I'll send you a small tip as you helped me very well.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
-snip-
At this point the transactions have been sent already with the forced fees.

Right now I want to send the entire balance (0.035BTC) of 12oWtmuwHipw9rC9BYUuMGWMWB3RxMsxUN to 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP

And again same problem when I add a manual fee. When I tick the box send without fee, it will send it witout a fee. But when I want to include 0.0001 as fee it comes up with 0.00001XXXBTC.

I want the raw transaction to include a fee of 0.0002BTC that will be deducted from the total 0.035BTC.

Thanks for your help man. Really appreciate it.

Alright, lets see what we have.

This -> https://www.blocktrail.com/BTC/address/12oWtmuwHipw9rC9BYUuMGWMWB3RxMsxUN/transactions/in/0
tells me that you have one unspend input here -> https://www.blocktrail.com/BTC/tx/040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83
worth 0.035 BTC.

So we have the TX ID and vout 0 (because its the 1st output of the TX and those writing code tend to start counting at 0)

Receiving address is 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP and a 0.0002 fee leaves us with 0.0348.

Putting that all together gives us[1]:

Code:
createrawtransaction
"[
{\"txid\":\"040a4aadd58794ab0360af01cd30112898371f46a6a8a96e4122102d21038d83\",\"vout\":0}
]"
"{\"1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP\":0.0348}"

core responds with:

Code:
0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

which is your unsigned raw transaction.

You can verify it with:

Code:
decoderawtransaction 0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

in order to sign it you need to unlock your wallet. Lets assume your password is 'passw0rd' and you want to unlock your wallet for 60 seconds.

Code:
walletpassphrase passw0rd 60

sign it with:

Code:
signrawtransaction 0100000001838d03212d1022416ea9a8a6461f3798281130cd01af6003ab9487d5ad4a0a040000000000ffffffff01c0193500000000001976a91405162fb9ce600faed971c98ebb1993682cd4e8a688ac00000000

and broadcast it to the network with:

Code:
sendrawtransaction the_hexcode_that_was_returned_after_you_signed_it



[1] If you do this with your own wallet you can just use:

Code:
listunspent 1 9999999 "[\"1address\"]"

it directly shows the TX IDs and vout to use.
legendary
Activity: 2170
Merit: 1427
Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?

Core has such protection, yes. Im not entirely sure where the limits are though. I had a thread about that a while back. IIRC the limit is also in btc/sat per bytes. I think I only ever hit it on testnet when I tried to pay high fees. On mainnet I usually go with the (higher end) suggested fee.

Perhaps that this security is enabled currently. I have been searching through the client to find a command where I can get rid of these forced fees, but without much success. It's quite ridiculous to be honest. I understand that they want to protect the network and force you to pay a minimum amount of fee, but even if I include a fee of 0.1BTC which I tried yesterday, it still forces me to pay a fee of 0.02XXBTC.

I really don't understand why I can't set a manual fee. With the previous version I could add any manual fee that I wanted without problems. It never forced me to pay anything other than what I manually told the client to pay. It's quite annoying and I kinda regret upgrading to the latest version now.

If you tell me the TX IDs you use as input, the amount in btc you want to send, the receiving addresses (including a change address if needed) and the fee you want to pay I can make you a raw TX you can decode (to confirm that it does what you want) and sign via the console.

At this point the transactions have been sent already with the forced fees.

Right now I want to send the entire balance (0.035BTC) of 12oWtmuwHipw9rC9BYUuMGWMWB3RxMsxUN to 1TtxVxWQwXCcdrbzXFQZGnrBP8oSVjYwP

And again same problem when I add a manual fee. When I tick the box send without fee, it will send it witout a fee. But when I want to include 0.0001 as fee it comes up with 0.00001XXXBTC.

I want the raw transaction to include a fee of 0.0002BTC that will be deducted from the total 0.035BTC.

Thanks for your help man. Really appreciate it.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?

Core has such protection, yes. Im not entirely sure where the limits are though. I had a thread about that a while back. IIRC the limit is also in btc/sat per bytes. I think I only ever hit it on testnet when I tried to pay high fees. On mainnet I usually go with the (higher end) suggested fee.

Perhaps that this security is enabled currently. I have been searching through the client to find a command where I can get rid of these forced fees, but without much success. It's quite ridiculous to be honest. I understand that they want to protect the network and force you to pay a minimum amount of fee, but even if I include a fee of 0.1BTC which I tried yesterday, it still forces me to pay a fee of 0.02XXBTC.

I really don't understand why I can't set a manual fee. With the previous version I could add any manual fee that I wanted without problems. It never forced me to pay anything other than what I manually told the client to pay. It's quite annoying and I kinda regret upgrading to the latest version now.

If you tell me the TX IDs you use as input, the amount in btc you want to send, the receiving addresses (including a change address if needed) and the fee you want to pay I can make you a raw TX you can decode (to confirm that it does what you want) and sign via the console.
legendary
Activity: 2170
Merit: 1427
Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?

Core has such protection, yes. Im not entirely sure where the limits are though. I had a thread about that a while back. IIRC the limit is also in btc/sat per bytes. I think I only ever hit it on testnet when I tried to pay high fees. On mainnet I usually go with the (higher end) suggested fee.

Perhaps that this security is enabled currently. I have been searching through the client to find a command where I can get rid of these forced fees, but without much success. It's quite ridiculous to be honest. I understand that they want to protect the network and force you to pay a minimum amount of fee, but even if I include a fee of 0.1BTC which I tried yesterday, it still forces me to pay a fee of 0.02XXBTC.

I really don't understand why I can't set a manual fee. With the previous version I could add any manual fee that I wanted without problems. It never forced me to pay anything other than what I manually told the client to pay. It's quite annoying and I kinda regret upgrading to the latest version now.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?

Core has such protection, yes. Im not entirely sure where the limits are though. I had a thread about that a while back. IIRC the limit is also in btc/sat per bytes. I think I only ever hit it on testnet when I tried to pay high fees. On mainnet I usually go with the (higher end) suggested fee.
legendary
Activity: 2170
Merit: 1427
Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.

I have tried to include a fee of 0.01BTC and it forces me to pay around 0.0001XXBTC in fees. Can this be something for the protection that people won't include a ridiculous amount as fee by mistake?
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.

I had the following in mind:

You have 2 inputs of 0.01001000 each and want to send 0.02. (no fee for simplicitiy) Core would use both inputs and have 2000 satoshi change which is below the dust limit. AFAIK if change is below the dust limit it is added to the fee.
legendary
Activity: 2170
Merit: 1427
Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?

The transactions are ranging from 0.01-0.02BTC per transaction. I try to send them manually 1 by 1 and not as bundled transaction. 0.01BTC is not really what I consider to be dust.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
Could it be to avoid a dust change output?

How large are the input(s) you use and how many you want to send?
legendary
Activity: 2170
Merit: 1427
I only can replicate this when the transaction is very small, for example 0.52 kb, so if I set the fee to 0.0001BTC, the total fee will be  0.00005210 BTC. Could it be this problem? In this case - and I agree, this is annoying - you would have to calculate the end fee by hand and then set the fee per kb. Could it be this what you mean?

The transaction size is indeed very small, just under 0.3KB to be more precise. In the previous version of the Core client this was never an issue as I could add any kind of manual fee to very small transactions, and it always did what I told my client to do. It's the first time I have to deal with it.

I think I have no choice other than to go with fee the client want me to pay at this point, eventhough it might take hours and hours before these transactions get their first confirmation due to the very low included fees.
hero member
Activity: 1106
Merit: 521
In core you can choose a custom fee, or no fee at all, which is pointless these days hit custom button beside the fee.
legendary
Activity: 2338
Merit: 1124
I only can replicate this when the transaction is very small, for example 0.52 kb, so if I set the fee to 0.0001BTC, the total fee will be  0.00005210 BTC. Could it be this problem? In this case - and I agree, this is annoying - you would have to calculate the end fee by hand and then set the fee per kb. Could it be this what you mean?
legendary
Activity: 2170
Merit: 1427
I want to send some smaller transactions and include a fee of 0.00005-0.0001BTC per transaction. However, the client forces me to pay a fee of 0.000001XX - 0.000007XXBTC which is way too low. I never had these problems before. I could add any fee I wanted till now.

Well, you still can define the fee you want to send. So don't really understand your problem...

I can't. No matter what fee amount I manually set, the client is forcing me to pay another fee which is significantly lower than what it must be.
legendary
Activity: 2338
Merit: 1124
I want to send some smaller transactions and include a fee of 0.00005-0.0001BTC per transaction. However, the client forces me to pay a fee of 0.000001XX - 0.000007XXBTC which is way too low. I never had these problems before. I could add any fee I wanted till now.

Well, you still can define the fee you want to send. So don't really understand your problem...
legendary
Activity: 2170
Merit: 1427
I want to send some smaller transactions and include a fee of 0.00005-0.0001BTC per transaction. However, the client forces me to pay a fee of 0.000001XX - 0.000007XXBTC which is way too low. I never had these problems before. I could add any fee I wanted till now.
Jump to: