692 / 736BIP347

OP_CAT

Data concatenation in Tapscript

BIP 347 proposes restoring a simple operation for concatenating two stack elements in Tapscript, expanding the design space for Bitcoin contracts.

OP_CAT is a proposed Tapscript opcode that concatenates two byte strings when the resulting element does not exceed the 520-byte limit; it is not active on mainnet.

The specification redefines OP_SUCCESS126 in Tapscript. The operation removes the top two stack elements, concatenates them in stack order and pushes the result back onto the stack. [1]

The original OP_CAT was disabled in early Bitcoin together with other opcodes. The new proposal is limited to Tapscript and keeps the existing 520-byte limit for a single stack element. [2]

Concatenation lets a script construct and hash structured data. Proponents derive uses such as covenants, transaction trees, vaults and proofs about properties of a future transaction. [1]

The opcode by itself specifies neither one application nor a general-purpose virtual machine. The security of a particular protocol depends on how it combines OP_CAT with hashes, signatures and spending rules. [1]

The BIP has Complete status, which describes the maturity of the document rather than consensus activation. Mainnet nodes currently treat OP_SUCCESS126 as successful script termination under Tapscript rules. [3]

Activation would be a soft fork: the new rules would narrow the set of previously valid Tapscript spends. It would require a separate deployment process and broad technical review. [1]

OP_CAT is related to CTV, covenants and Simplicity, but is not synonymous with them. Each proposal offers different expressiveness, analysis costs and room for unintended constructions. [1]

Verification must separate the existing specification and experimental implementations from the actual mainnet rules. A wallet must not assume OP_CAT is available without activation. [4]

For the clearest picture, read this entry together with Bitcoin Script, Taproot, Covenants, OP_CHECKTEMPLATEVERIFY, Soft Fork, BIP (Bitcoin Improvement Proposal).

01Is OP_CAT active on Bitcoin mainnet today?

No. BIP 347 is a completed proposal specification, but the change has not been activated as a mainnet consensus rule.

02Does OP_CAT mean general-purpose smart contracts?

No. It adds one data-concatenation operation; capabilities and risks arise from the specific scripts and protocols that use it.

DOC · 001BIP 347 — OP_CAT in TapscriptSpecification DOC · 002Bitcoin Optech — OP_CATDocumentation DOC · 003Bitcoin Core — Tapscript interpreterPrimary DOC · 004BIP 342 — Validation of Taproot ScriptsSpecification
Revised: Source-first · No investment advice