3

I got the above error when submitting this transaction:

010000000001013894a4bdcfa20ef5a6cbfe1d22c5fe5041eab586a5ea2b044f969a02dab6b3d200000000171600141a982a7d2712fc33d47c990cd8cde15c87ca2e07ffffffff015e3f01000000000017a914fb2dc3b4dd0731c8f2559506c7d0cb876b0e71298702483045022100c68dac735a3529d84fdbfc3a8a11d313d59a9791b046fc39bbfc55db71d6d2010220028f2bbfba78c393858e3cb7ad51e24e8dfd2260d4a3cbbf8feb4d4c6005967701210371b63ebaa78a70420bc36159bed610b8f788e9a7b953558f06bb40622d9cbfe400000000

A previous transaction from the same P2SH-P2WPKH address was successfully spent but I got this error whenever I try to spend this transaction:

d2b3b6da029a964f042beaa586b5ea4150fec5221dfecba6f50ea2cfbda49438

I already attempted to sign the transaction again a few time but still got the same error.

  • 1
    How did you create this transaction? What commands did you use? What software? – Andrew Chow Oct 21 '17 at 5:08
  • I used the ruby gem to build and sign this transaction – user3779267 Oct 30 '17 at 6:16
  • 1
    I found out it was because of a precision error in our code. The amount that used to build the input segwit transaction is incorrect leading to this error. – user3779267 Oct 30 '17 at 7:00
  • 1
    Please write an answer to your own question if you found a solution. – Pieter Wuille Nov 20 '17 at 18:53
1

When I try to submit that transaction I don't get that error message. To me it looks like you are only sending 1 satoshi as transaction fee in total. Try to send it with a higher fee.

1

I found out it was because of a precision error in our code. The amount that used to build the input segwit transaction is incorrect leading to this error.

1

You will receive this error if the value you are signing is not the exact amount of the entire unspent output value.

For example, if your unspent output value is 35,000, and you only want to send 30,000, your output value would be 30,000, and your signing amount would be 35,000. If you sign for only 30,000 (not the full amount of the unspent output) you will receive this error.

Visual Example Using BitcoinJS:

//add input
txb.addInput(txid, outn, null, scriptPubkey);

//add output
txb.addOutput(receivingAddress, 30000); //amount less the mining fee

//signing
txb.sign(0, keypair, null, null, 35000); //NOTE the amount is the FULL amount of the unspent output, NOT the amount being sent
  • I've faced the same error and it is very confusing. I'm sure that in my case sign gets exact full amount of input, because I walk through UTXOs and pass utxo[i].satoshis as amount. Can anything else cause this error? – oxfn May 9 '18 at 10:21
  • I'm using bgoldjs-lib - fork of bitcoinjs-lib for BTG – oxfn May 9 '18 at 10:56
0

I got the same error when create transaction via bgoldjs-lib. Say that it's confusing like say nothing. I'd no problem with bitcore-lib, bitcoincashjs to create BTC, BCH, LTC txs. Think it's open source !^_^! or I've not so deep learning in this area. I found one solution https://github.com/Ayms/bitcoin-transactions. There're tx.js script, but in min.js format. It's created success broadcasted txs for me. There're one unsuitable output that i'm going to remove in a near time.

0

I have gotten this error not only when specifying an incorrect input amount, as mentioned elsewhere in this thread, but also when sorting signatures incorrectly on a multisig transaction.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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