I'm trying to broadcast a manually crafted and signed transaction. As far as I can tell, the scripts are correct and the signatures pass BIP 66 validation.

However, I keep getting:

{'message': '64: non-mandatory-script-verify-flag (No error)', u'code': -26}

Suspecting the DER encoding, I tried different libs (plus my own ad-hoc code) to no avail. This is the raw transaction in question:


What's wrong with the transaction? I'll provide any additional information necessary.

2 Answers 2


I was sending an extra signature.

The transaction required 2-of-3, and I sent the 3 signatures. The extra signature was not popped off the stack by OP_CHECKMULTISIG, and the remaining stack looked like this:

OP_0 # null-dummy for Bitcoin Core's old bug

The extra signature took the place of the dummy, and bitcoind detected this when verifying the dummy was an OP_0.

RPC_VERIFY_REJECTED = -26, //! Transaction or block was rejected by network rules

Rule "prev_out" failed to validate: Prev out d9a78501ba9601391094fe4a369ab8767822196561ceca3b64e446ea6785a085:0 not found.


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.