Skip to main content
£0.00 0

Basket

No products in the basket.

ASIC mining articles and advice

BIP 347 OP_CAT in Tapscript: Complete Specification Guide

BIP 347 guide covering Complete specification status, OP_SUCCESS126 redefinition, stack order, 520-byte limit, soft-fork boundary, use cases and testing.

BIP 347 OP_CAT in Tapscript guide cover

This guide explains BIP 347 OP_CAT in Tapscript in plain English. It covers the problem behind the BIP, why it matters and whether the proposal is part of Bitcoin today.

TL;DR

  • What it is: BIP 347 is a Complete Specification for introducing OP_CAT to Tapscript by redefining OP_SUCCESS126 through a soft fork. The opcode would pop the top two stack values, concatenate them in stack order and push the result.
  • Why it matters: BIP 347 specifies a deliberately small byte-concatenation primitive with broad possible composition. Its operational boundary remains clear: a complete specification is not active consensus until a separate deployment occurs.
  • Current position: Its operational boundary remains clear: a complete specification is not active consensus until a separate deployment occurs.

BIP 347 OP_CAT in Tapscript in simple English

BIP 347 OP_CAT in Tapscript: The proposal redefines tapscript OP_SUCCESS126, decimal 126 and hexadecimal 0x7e, using the historical OP_CAT opcode value. The proposal applies to Tapscript and depends on BIP 340, 341 and 342 context.

Simple example

A node operator is checking BIP 347 OP_CAT in Tapscript. Execution fails when fewer than two elements exist or when the concatenated result would exceed the 520-byte maximum script element size.

Key terms in plain English

BIP:
Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
Consensus:
The shared rules full nodes use to decide whether blocks and transactions are valid.
Soft fork:
A proposed tightening of Bitcoin rules that old nodes may not enforce themselves.
Taproot:
A Bitcoin upgrade that added new signature and script options for spending outputs.
Node:
A computer running Bitcoin software that checks data and communicates with other peers.

Status

BIP 347 is Complete, version 1.0.0, and specifies a consensus soft fork. No article or test should describe that status as deployed network rules.

Opcode mapping

The proposal redefines tapscript OP_SUCCESS126, decimal 126 and hexadecimal 0x7e, using the historical OP_CAT opcode value.

Stack order

For a stack ending x1 then x2 with x2 on top, OP_CAT replaces them with x1 concatenated with x2. Reversing operands changes the byte string.

BIP 347 OP_CAT in Tapscript technical diagram
Stack order: the fields, validation boundary and operational evidence that implementations need to agree.

Failure conditions

Execution fails when fewer than two elements exist or when the concatenated result would exceed the 520-byte maximum script element size.

Scope

The proposal applies to Tapscript and depends on BIP 340, 341 and 342 context. It does not reactivate legacy-script OP_CAT by editorial assumption.

Use cases

The BIP discusses hashed data structures, tree signatures, Lamport signatures, covenants and atomic-swap constructions as possibilities, not deployed product guarantees.

How specialists test it

Developers test the proposal with made-up data on an isolated test network. They check normal cases and deliberately invalid cases. Different implementations should reach the same result before anyone relies on the proposal.

Frequently asked questions

What is the main point of BIP 347 OP_CAT in Tapscript?

BIP 347 OP_CAT in Tapscript: The proposal redefines tapscript OP_SUCCESS126, decimal 126 and hexadecimal 0x7e, using the historical OP_CAT opcode value.

For BIP 347 OP_CAT in Tapscript, what should a beginner know about status?

BIP 347 is Complete, version 1.0.0, and specifies a consensus soft fork.

For BIP 347 OP_CAT in Tapscript, what should a beginner know about opcode mapping?

The proposal redefines tapscript OP_SUCCESS126, decimal 126 and hexadecimal 0x7e, using the historical OP_CAT opcode value.

For BIP 347 OP_CAT in Tapscript, what should a beginner know about stack order?

For a stack ending x1 then x2 with x2 on top, OP_CAT replaces them with x1 concatenated with x2.

Conclusion

BIP 347 specifies a deliberately small byte-concatenation primitive with broad possible composition. Its operational boundary remains clear: a complete specification is not active consensus until a separate deployment occurs.

Primary sources

Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.

ASIC MINER PICKS

Recommended ASIC Mining Hardware

Compare three of our highest ranked ASIC miners currently available, with live product details and pricing.
Browse all ASIC miners
MORE MINING ADVICE

More ASIC Mining Articles

Read practical advice about choosing hardware, calculating electricity costs, setting up miners, hosting and maintenance.
MINER COMMUNITY

Join the ASIC Mining Discussion

Ask a question or share what has worked for you. Your experience may help another miner make a better decision.

Members can read and join the discussion

Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.

Log in to read comments Register to join the discussion

Membership helps us protect the discussion from spam and keep answers useful.

ASIC MINING SUPPORT

Need Help Choosing an ASIC Miner?

Tell us what you want to mine, your electricity cost and where the machine will run. We can help you compare hardware, power requirements, hosting and repairs.
Contact our mining team
Browse ASIC miners