# Pay to False Return

## Abstract

The OP\_FALSE OP\_RETURN script template is a method for storing data on the Bitcoin SV blockchain. It creates a non-spendable output and appends the desired data to the end of the script for storage. This standard aims to define the rules and best practices for using this script template.

## Motivation

The low transaction fees and high capacity of the Bitcoin SV network make it an attractive option for storing data on the blockchain. The OP\_FALSE OP\_RETURN script template is a widely used method for achieving this goal due to its simplicity and ease-of-use.

## Specification

To use the OP\_FALSE OP\_RETURN script template, an output must be included in a Bitcoin transaction with a locking script comprising OP\_FALSE followed by OP\_RETURN, followed by the data to store in the script. The data can be pushed into one or multiple stack elements after the OP\_RETURN opcode.

For example:

```s
.lock
  FALSE RETURN
  <data1>
  <data2>
  <data3>
```

## Implementations

Several implementations and protocols make use of the OP\_RETURN script template, including the [RUN protocol](https://run.network/docs/#introduction) and [Bitcoin OP\_RETURN Bytecode (BOB)](https://medium.com/@_unwriter/hello-bob-94701d278afb).

## Limitations

The main limitation of using OP\_FALSE OP\_RETURN is the non-spendability of these outputs and their ability to be pruned by miners. They are records rather than tokens. Artefacts predominantly as a proof of existence of data at a certain time - timestamped by the Bitcoin system as a hash with a merkleproof to a block, even if miners themselves prune the data.
