In my understanding, miners wont accept non standard scripts. Then why are there several opcodes which cannot be used in custom scripts because they are nonstandard?

  • You should probably change the title of your question to something like "Why are there so many opcodes in Bitcoin Script, but they are not usable". The current question title is too broad and does not really reflect your question intentions.
    – rny
    Commented Oct 21, 2017 at 2:12

2 Answers 2


Those opcodes can be used in non-standard scripts as part of a Pay-to-Script-Hash address. They can be in the redeemScript of the P2SH address and be standard.

Furthermore, standardness is not something that is set in stone; it is not a consensus rule, rather it is node policy. So in the future, we may create new script types which become standard that use other opcodes. Such scripts may be non-standard now (as P2SH and Segwit were in the past) but can become standard in the future. Those opcodes exist so that we can make scripts which perform smart contract-like things without needing a fork.


I figured out that we can use OPCODE to create a redeem script which is hashed for P2SH. So it seems that we can create our own smart contract: However Bitcoin script does not have enough OPCODEs to create smart contract that can do with Ethereum. Some people have proposed to add some OPCODEs to Bitcoin.

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.