> For the complete documentation index, see [llms.txt](https://docs.fractalbitcoin.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fractalbitcoin.io/articles/what-is-op_cat.md).

# What is OP\_CAT?

#### Summary

* OP\_CAT was part of the Bitcoin’s scripting language but was disabled in 2010. Now, Tapscript solves this issue.
* OP\_CAT is expected to drive innovation in Bitcoin's code by introducing smart contract functionalities and expanding the potential for Bitcoin Layer 2 applications.
* Critics favor simpler code and alternative softforks.

### I. What is OP\_CAT?

OP\_CAT was originally part of Bitcoin’s scripting language. The opcode concatenates two stack items, combining them into a single item. For example, if you have two strings or numbers on the stack, OP\_CAT would merge them into one.

#### **Why was OP\_CAT disabled previously?**

OP\_CAT was disabled starting from early Bitcoin versions because it could lead to scripts using excessive memory, creating very large stack values from small inputs.

For example, a script with OP\_CAT and OP\_DUP could expand a 1-byte value into over 1 terabyte. Tapscript now prevents this issue by limiting stack elements to 520 bytes.

### II. **Impact of OP\_CAT**

Often referred to as the code that can enable native smart contract functionalities on Bitcoin, OP\_CAT has garnered significant interest from developers building Bitcoin Layer 2 solutions.

**Here is how OP\_CAT could pave the way for innovation on Bitcoin:**

#### 1. **Enhanced Script Capabilities**

**BigInt and Numbers Handling —** By allowing concatenation, developers can construct and manipulate larger integers more easily within Bitcoin scripts. This is particularly useful for applications that require large number operations.

#### 2. **Zero-Knowledge (ZK) Applications**

**zkProofs —** Concatenation can be crucial for creating and verifying zero-knowledge proofs. With OP\_CAT, constructing complex data structures that represent proofs becomes more straightforward.

#### 3. **BitVM**

**Smart Contract Functionality —** BitVM is a concept for bringing more expressive smart contract capabilities to Bitcoin. OP\_CAT can aid in developing more complex scripts, potentially enabling functionalities similar to those found in Ethereum’s virtual machine (EVM).

#### 4. **Staking**

**Slashing Conditions —** Babylon aims to create decentralized staking mechanisms with robust slashing conditions to penalize malicious actors. OP\_CAT can help construct and evaluate these conditions by enabling the concatenation of evidence or conditions that trigger slashing.

### IV. Concerns — Resistance and Alternatives

1. **Community Resistance**

Implementing major changes like OP\_CAT requires consensus within the Bitcoin community. Resistance may come from those who prefer simpler, minimalist approaches and those concerned about potential risks.

**2. Alternative Softforks**

There may be a preference for prioritizing other soft forks that address core issues such as scalability or privacy over introducing new functionalities like OP\_CAT.

### V. Future of **OP\_CAT**

In conclusion, OP\_CAT is making a comeback with the community rallying behind it. The excitement around innovations, such as Ordinals and Runes, shows that Bitcoin's future is looking bright, with OP\_CAT potentially playing a big role in pushing its capabilities further.
