# Non-standard \>80 byte op\_return

**URL:** <https://forums.counterparty.io/t/non-standard-80-byte-op-return/6590>\
**Category:** Development\
**Created:** [April 27, 2023, 5:50am UTC](https://forums.counterparty.io/t/non-standard-80-byte-op-return/6590 "2023-04-27T05:50:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![JPJA](https://yyz2.discourse-cdn.com/flex004/user_avatar/forums.counterparty.io/jpja/32/1324_2.png) [@JPJA](https://forums.counterparty.io/u/JPJA)\
**Post date:** [April 27, 2023, 5:50am UTC](https://forums.counterparty.io/t/non-standard-80-byte-op-return/6590/1 "2023-04-27T05:50:41Z")

</div>

Bitcoin has two sets of rules. The _consensus_ rules, which all blocks/transaction must comply with. And _standard_ rules which are optional and set by default in Bitcoin Core.

The 80 byte limit for op\_return is a standard rule. Node operators can disable it.

I am testing to see if I can get such a non-standard \>80 byte op\_return accepted by a miner.

Step 1:  
Make a long broadcast message with [Electrum-Counterparty/broadcast\_text.html at master · Jpja/Electrum-Counterparty · GitHub](https://github.com/Jpja/Electrum-Counterparty/blob/master/broadcast_text.html). Need to comment out the line for input length (currently line #80 `//print_result("Input text is too long"); return; `).

Step 2:  
Create transaction with Electrum. This goes well until broadcasting the tx. The server returns an error `Some of the outputs pay to a non-standard script`.

Step 3:  
Export → Copy to clipboard

Step 4:  
Push raw tx with BlockCypher - [Push Raw Bitcoin Hexadecimal Transaction | BlockCypher](https://live.blockcypher.com/btc/pushtx/)

Step 5:  
Wait until confirmed - [BTC Transaction 547d2cca830d0a1c7b8105846f192b5f165e196d9721d7e05378f5b79fdef02b | BlockCypher](https://live.blockcypher.com/btc/tx/547d2cca830d0a1c7b8105846f192b5f165e196d9721d7e05378f5b79fdef02b/)

The last time I tried, the transaction stayed in mempool for a few days. And then dropped out. Did not make it to a block. However, the fee I paid was very low, about 2 sat/byte.

This time I’m using 20 sat/byte. Let’s see if a higher reward convinces a miner to accept it.

---

<div class="post-metadata">

**Author:** ![JPJA](https://yyz2.discourse-cdn.com/flex004/user_avatar/forums.counterparty.io/jpja/32/1324_2.png) [@JPJA](https://forums.counterparty.io/u/JPJA)\
**Post date:** [April 27, 2023, 6:09am UTC](https://forums.counterparty.io/t/non-standard-80-byte-op-return/6590/2 "2023-04-27T06:09:04Z")

</div>

A similar \>80-byte op\_return on testnet went through without a problem.

This is as expected, as testnet nodes do not enforce “standard” rules.

[https://testnet.xchain.io/tx/d8efb73ebf29c6b77c72ddd2820d6b2013494602bef5c7bd07d4e355c73ca129](https://testnet.xchain.io/tx/d8efb73ebf29c6b77c72ddd2820d6b2013494602bef5c7bd07d4e355c73ca129)

---

<div class="post-metadata">

**Author:** ![JPJA](https://yyz2.discourse-cdn.com/flex004/user_avatar/forums.counterparty.io/jpja/32/1324_2.png) [@JPJA](https://forums.counterparty.io/u/JPJA)\
**Post date:** [April 28, 2023, 7:12am UTC](https://forums.counterparty.io/t/non-standard-80-byte-op-return/6590/3 "2023-04-28T07:12:48Z")

</div>

1 day passed, the tx is dropped from mempool

 ![image](https://canada1.discourse-cdn.com/flex004/uploads/counterpartytalk/original/2X/4/4759b91b00aeea17e2daaf86e4c5138139f7351f.png)

To be clear, all we know is that

1. BlockCypher does not have the tx in _their_ mempool anymore.
2. No miner has so far included the tx in a block.

In theory, the tx could have been relayed to other nodes which may still keep a copy. There is still a chance that a miner adds the transaction to a block.

This holds true until I spend the input in another transaction, which I won’t do for a while. The fee ratio is 20 sat/byte, significantly more than the current level of 5 sat/byte. A profit maximizing miner is incentivized to include it.
