Crypto glossary

OP_RETURN

Definition

OP_RETURN is a Bitcoin script opcode that marks an output as unspendable so it can carry a small piece of arbitrary data on the blockchain.

An output beginning with OP_RETURN can never be spent, so nodes can drop it from the UTXO set while the data stays in the block. It was made standard in 2014 to give people a cleaner place to store data, such as timestamps and protocol messages, than fake addresses that bloat the UTXO set. For years Bitcoin Core relayed only transactions with a single OP_RETURN output of up to 80 bytes.

Projects use it to anchor document hashes, record colored-coin and token messages, and, since 2024, carry Runes runestones. Its size limit became a flashpoint in 2025, when Bitcoin Core developers decided to relax the default relay policy, allowing much larger and multiple OP_RETURN outputs in version 30. They argued that data was already reaching miners through other routes and that the limit no longer worked.

Critics saw the change as encouraging non-monetary data on Bitcoin and some node operators switched to Bitcoin Knots, which keeps stricter defaults. The limit was always a relay policy, not a consensus rule: miners could include larger OP_RETURN outputs in blocks, and node operators can still configure their own settings.

Example

A notary service publishes the SHA-256 hash of a contract in an OP_RETURN output, later proving the document existed at that date by pointing to the transaction.

Related terms

Latest articles on OP_RETURN