Close Menu
  • Coins
    • Bitcoin
    • Ethereum
    • Altcoins
    • NFT
  • Blockchain
  • DeFi
  • Metaverse
  • Regulation
  • Other
    • Exchanges
    • ICO
    • GameFi
    • Mining
    • Legal
  • MarketCap
What's Hot

fsckorea Blocks 27 Websites of Illegal Virtual Asset Operators

14/10/2026

Papertrade Faces Oracle-Manipulation Allegation as House Pool Shows $3.14 Million

14/10/2026

Bitcoin’s Biggest Holders Ramp Up Buying While Retail Traders Remain Flat

14/10/2026
Facebook X (Twitter) Instagram
  • Back to NBTC homepage
  • Privacy Policy
  • Contact
X (Twitter) Telegram Facebook LinkedIn RSS
NBTC News
  • Coins
    1. Bitcoin
    2. Ethereum
    3. Altcoins
    4. NFT
    5. View All

    Bitcoin’s Biggest Holders Ramp Up Buying While Retail Traders Remain Flat

    14/10/2026

    Bitcoin Is More Than Just an Asset, Says TD Cowen

    14/10/2026

    The midterm elections are one month away – Bitcoin’s history says, watch out!

    14/10/2026

    MSCI Rule Puts Strategy at Risk, Says Bitcoin Policy Institute Paper

    14/10/2026

    Ethereum Liquidity on Binance Drops to Lowest in Seven Months

    14/10/2026

    Ethereum’s Vitalik Buterin Calls for Additional Rounds

    14/10/2026

    Ethereum Name Service plans major .eth overhaul with one irreversible catch for domain holders

    14/10/2026

    Ethereum’s 0x02 Validators Hit 40% Staked ETH, LidoFinance

    14/10/2026

    How Hashgraph Works and Why It Matters

    14/10/2026

    Solana Foundation Releases Insights on Upcoming Alpenglow

    14/10/2026

    Arbitrum Becomes Financial Backbone for Robinhood’s

    14/10/2026

    Chainlink Launches CCIP 2.0 for Enhanced Cross-Chain

    14/10/2026

    Alex Fong counts losses as Blur folds

    14/10/2026

    Collector Crypt Logs $151 Million in Monthly Pack Sales

    14/10/2026

    Pudgy Penguins gets support as billionaire buys 117 NFTs

    12/10/2026

    NFT sales rise to $39.85m as Pudgy Penguins jump 125%

    10/10/2026

    fsckorea Blocks 27 Websites of Illegal Virtual Asset Operators

    14/10/2026

    Papertrade Faces Oracle-Manipulation Allegation as House Pool Shows $3.14 Million

    14/10/2026

    Bitcoin’s Biggest Holders Ramp Up Buying While Retail Traders Remain Flat

    14/10/2026

    Pendle Announces Launch of Franklin Templeton ETF

    14/10/2026
  • Blockchain

    Enel Group Tokenizes Solar Panels on Algorand, Boosting

    14/10/2026

    Optimism’s Unichain deal will put more chains under one operator

    14/10/2026

    What Changes Will a 200 Millisecond Interval Make? Here Are the Details

    14/10/2026

    Neo SPCC releases NeoFS REST Gateway v0.20.0, Panel v0.11.1

    14/10/2026

    Solana Surpasses All L1 and L2 Chains in App Revenue in Q3

    14/10/2026
  • DeFi

    Pendle Announces Launch of Franklin Templeton ETF

    14/10/2026

    More than half of Ethena’s USDe backing is allocated to lending

    14/10/2026

    Base Introduces Earn & Borrow With Aave and Morpho

    14/10/2026

    cirBTC Borrowing on Morpho Tops $190 Million as Arc Liquidity Tightens

    14/10/2026

    Mezo Sets Oct. 13 Bridge-Out Deadline for swBTC and USDe

    14/10/2026
  • Metaverse

    Is Solana Gaming Back? Kintara Activity Fuels Renewed Optimism in Onchain MMOs

    24/06/2026

    The Sandbox launches AI game engine ‘The Sandbox Studio’ for next-generation creators

    10/06/2026

    Meta commits $13M in funding for Oversight Board through 2028

    29/05/2026

    Why Animoca’s Yat Siu says the future is 100 billion AI agents

    07/05/2026

    ‘8,000 Jobs’—Polymarket Sees Tech Layoff Surge As Meta AI Push Bites

    18/04/2026
  • Regulation

    Trump makes another $5,000 stimulus promise to Americans if they vote Republican in midterms

    14/10/2026

    Fidelity Digital Dollar Stablecoin Hits $50M as Institutional Push Intensifies

    14/10/2026

    How Does Ondo’s Custody Model Keep Tokenized Stocks Anchored To Real Shares?

    14/10/2026

    Why is Cathie Wood buying Meta stock and selling Alphabet shares?

    14/10/2026

    Nasdaq Invests $100M in Kraken Parent Payward at $21B Valuation

    14/10/2026
  • Other
    1. Exchanges
    2. ICO
    3. GameFi
    4. Mining
    5. Legal
    6. View All

    Papertrade Faces Oracle-Manipulation Allegation as House Pool Shows $3.14 Million

    14/10/2026

    Papertrade Says It Is Tightening Trading Limits After Manipulation Allegations

    14/10/2026

    Bitpanda Grows Its European Bank Network as Crypto Access Widens

    14/10/2026

    Some Kraken futures limit orders can still fill after a successful cancel

    14/10/2026

    ICO market slows sharply with only six completions in 2026

    30/04/2026

    South Korea Poised to Lift Ban on Domestic ICOs After 7 Years

    19/12/2025

    Why 2025’s Token Boom Looks Both Familiar and Dangerous

    31/10/2025

    ICO for bitcoin yield farming chain Corn screams we’re so back

    22/01/2025

    Top 12 NFT games every player should know about in August 2026

    19/08/2026

    GameShame Studios founder details Raijin Protocol’s roadmap in NeoPod’s sixth AMA

    13/08/2026

    How BC.GAME is turning players into stakeholders

    04/08/2026

    YGG Play Shuts Down Services as Yield Guild Pivots to AI Data

    01/08/2026

    Bitcoin’s next difficulty rise could leave some rigs earning less than their power bill

    14/10/2026

    BitFuFu takes Bitcoin mining onchain with BTC-denominated HASH token

    14/10/2026

    IREN’s unconfirmed Anthropic deal tests miners’ AI cloud pivot

    13/10/2026

    Bitcoin miners face widening AI financing costs as lenders scrutinize deals

    13/10/2026

    fsckorea Blocks 27 Websites of Illegal Virtual Asset Operators

    14/10/2026

    Sam Bankman-Fried’s lawyer lays out ex-FTX CEO’s Supreme Court case

    14/10/2026

    Germany leads approvals as banks push into crypto under MiCA regime

    14/10/2026

    Hex Founder Richard Heart Detained in Istanbul on Interpol Red Notice: Report

    14/10/2026

    fsckorea Blocks 27 Websites of Illegal Virtual Asset Operators

    14/10/2026

    Papertrade Faces Oracle-Manipulation Allegation as House Pool Shows $3.14 Million

    14/10/2026

    Bitcoin’s Biggest Holders Ramp Up Buying While Retail Traders Remain Flat

    14/10/2026

    Pendle Announces Launch of Franklin Templeton ETF

    14/10/2026
  • MarketCap
NBTC News
Home»Bitcoin»Bitcoin Covenants: OP_CAT (BIP 347)
Bitcoin

Bitcoin Covenants: OP_CAT (BIP 347)

NBTCBy NBTC25/05/2025No Comments6 Mins Read
Share
Facebook Twitter LinkedIn Pinterest Email


This is the fifth article in a series deep diving into individual covenant proposals that have reached a point of maturity meriting an in-depth breakdown.

OP_CAT, put forward for reactivation in tapscript by Ethan Heilman and Armin Sabouri in BIP 347, is not a covenant. It was an opcode that was originally included in the first release of Bitcoin for manipulating data elements on the stack. It was deactivated in 2010 with the release of Bitcoin 0.3.10 along with a number of other opcodes due to concerns of denial of service attacks that could crash nodes. A global maximum limit of 520 bytes for any individual item on the stack while executing a script was also added.

You should already have a basic understanding of how script evaluation on the stack works, and the basic pieces of a bitcoin transaction, so there isn’t really much pre-requisite explaining necessary for OP_CAT.

While OP_CAT may not be a covenant in and of itself, it can emulate covenants due to a quirk in how Schnorr signatures work. This is a pretty in depth topic, fully explained here by Andrew Poelstra from Blockstream, so I’ll just stick with a high level view. Every elliptic curve has a generator point, which is essentially “0”, that is used in the elliptic curve math for key generation and signing. With Schnorr, you can sign using the generator point as a key, and give or take a few bytes that you have to sign repeatedly to get right, the resulting signature is actually the same hash of the transaction you signed.

Set aside the mechanics of how that works mathematically for now, and just remember for later that these “weird” signatures allow you to get the current transactions TXID on the stack.

How OP_CAT Works

OP_CAT takes the top two data items on the stack and concatenates them together. So if the top two items on the stack are “1” and “2”, OP_CAT removes both of them and then puts “12” on top of the stack. That’s it.

What Is OP_CAT Useful For

Okay, so what’s the big deal? Why is everyone freaking out about OP_CAT even though it’s so simple the explanation of how it works didn’t even take a full paragraph to write?

Two reasons, although given the nature of OP_CAT I can give no guarantees these are the only two reasons. OP_CAT allows the construction and verification of merkle trees directly on the stack, which opens the door to some interesting behavior and functionality. It also allows emulation of covenants enabling full granular introspection due to the “weird” Schnorr signatures mentioned above.

Merkle proof verification is a key component of Taproot, but the way it is implemented merkle tree verification only occurs in the context of verifying that a tapscript spending path is committed to in the root Schnorr public key in the output script of the coin being spent. Taproot does not support generic merkle proof verification.

OP_CAT allows this in a totally generic manner. Simply providing the leaf hash(es) and then interior hash nodes in the right order and calling OP_CAT successively will allow you to reconstruct a merkle root hash, and compare against a pre-defined hash in the script. You could do this to provide unilateral withdrawal paths for shared UTXOs like in CatVM, you could make transactions dependent on other transactions having been included in a block with valid work, you can make a transaction dependent on pretty much any condition that can be verified with a merkle proof.

Now, for the covenant emulation that enables full introspection. What you are trying to do is ensure that a transaction has to have certain characteristics to be valid. Remember now that the “weird” signature gets the hash of the transaction on the stack. A transaction signature isn’t actually done over the raw transaction, it’s done over its hash. This allows us to do something interesting.

You can construct very complicated and convoluted scripts using OP_CAT to take the individual raw pieces of the transaction as part of the witness, and slowly put them together on the stack with OP_CAT. Along the way, individual pieces of the transaction can be checked against predefined hashes by just hashing them and using OP_EQUAL. At the end of the script you have the full transaction on the stack itself, and can append the necessary data to it and then hash it, once again comparing it with OP_EQUAL, this time against the “weird” signature. If that check passes, a normal CHECKSIG can be run and as long as the “weird” signature was made with the transaction being spent, everything executes as valid.

The OP_EQUAL checks of individual pieces of the transaction along the way guarantee that those pieces of the transaction are exactly what they should be. If any of them fails verification, the transaction is invalid. This enforces the emulated covenants. At the end, if the transaction hash constructed with OP_CAT and the “weird’ signature match, then the final CHECKSIG guarantees that the transaction constructed with OP_CAT and checked against the emulated covenant matches the actual transaction being spent at the time.

Closing Thoughts

OP_CAT blows open the doors of introspection and forward data carrying completely. Introspection can be accomplished to any granular degree desired, with each individual field of the transaction being able to be independently committed to. It enables all the same introspective capabilities that TXHASH does, and then some.

The capability to verify generic merkle proofs is also a powerful functionality, but brings into question how that capability will be used, and what type of incentives that could create. Bitcoin scripts could be constructed requiring some transaction be made on external blockchain systems, as long as they use merkle trees built with the hash functions available in Bitcoin script.

While OP_CAT is itself not a covenant, it allows full emulation of covenants with a much less efficient blockchain footprint (and potential for developers to make mistakes and burn money). It is a proposal that despite being incredibly simple itself, should be approached cautiously given the massive design space it opens up.

This post Bitcoin Covenants: OP_CAT (BIP 347) first appeared on Bitcoin Magazine and is written by Shinobi.

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
NBTC

NBTC is the editorial account for NBTC News, covering Bitcoin, Ethereum, DeFi, blockchain infrastructure, exchanges, mining, regulation and digital asset markets. The editorial team focuses on clear sourcing, timely updates and practical context for crypto readers.

Related Posts

Bitcoin’s Biggest Holders Ramp Up Buying While Retail Traders Remain Flat

14/10/2026

Bitcoin Is More Than Just an Asset, Says TD Cowen

14/10/2026

The midterm elections are one month away – Bitcoin’s history says, watch out!

14/10/2026

MSCI Rule Puts Strategy at Risk, Says Bitcoin Policy Institute Paper

14/10/2026
Add A Comment

Comments are closed.

Top Posts
Get Informed

Subscribe to Updates

Get the latest news from NBTC regarding crypto, blockchains and web3 related topics.

Your source for the serious news. This website is crafted specifically to for crazy and hot cryptonews. Visit our main page for more tons of news.

We're social. Connect with us:

Facebook X (Twitter) LinkedIn RSS
Top Insights

fsckorea Blocks 27 Websites of Illegal Virtual Asset Operators

14/10/2026

Papertrade Faces Oracle-Manipulation Allegation as House Pool Shows $3.14 Million

14/10/2026

Bitcoin’s Biggest Holders Ramp Up Buying While Retail Traders Remain Flat

14/10/2026
Get Informed

Subscribe to Updates

Get the latest news from NBTC regarding crypto, blockchains and web3 related topics.

Type above and press Enter to search. Press Esc to cancel.