Definition
OP_CAT is a Bitcoin Script opcode that takes the top two items on the stack, joins them into a single item, and pushes the result back. If the stack holds 0xB10C and 0xCAFE, running OP_CAT leaves 0xB10CCAFE. The operation is trivial on its own, but concatenation is a foundational primitive that unlocks far more expressive contracts than Bitcoin can express today.
Why it was disabled
OP_CAT shipped in Bitcoin's first release but was disabled by Satoshi Nakamoto in 2010 (alongside several other opcodes) over denial-of-service concerns: without a size cap, repeated concatenation could double a stack item's length each step and exhaust a node's memory. Modern proposals re-enable it inside Tapscript with a strict 520-byte element limit that neutralizes that risk.
What reactivation would enable
OP_CAT is not itself a covenant, but combined with Schnorr signatures and Merkle proofs it lets scripts reconstruct and inspect parts of the spending transaction — a form of introspection. That opens the door to emulated covenants, vaults, equivocation bonds, and other restrictions on how coins may be spent in the future. Because of this leverage from such a small change, OP_CAT (formalized as BIP-347 by Ethan Heilman and Armin Sabouri) is one of the more actively discussed soft-fork candidates.
OP_CAT sits in the same design conversation as other proposed introspection tools. For related background see our entries on AnyPrevOut and the witness commitment structure introduced by SegWit. As always, D-Central presents this as an educational reference — OP_CAT remains a proposal, not active consensus.
In Simple Terms
OP_CAT is a Bitcoin Script opcode that takes the top two items on the stack, joins them into a single item, and pushes the result…
