<p>I have created a transaction with high miner's fee that is now in mempool that won't confirm:</p>

<p><a href="https://live.blockcypher.com/btc-testnet/tx/abcc4ce473f490896e87102fe3ffb857ff735a0fc97525dadf9c5b0ed5410f9f/" rel="nofollow noreferrer">https://live.blockcypher.com/btc-testnet/tx/abcc4ce473f490896e87102fe3ffb857ff735a0fc97525dadf9c5b0ed5410f9f/</a></p>

<p>From a previous question, I've been informed that the likely reason for this is that there is data embedded with a non-standard (or "unknown" protocol). I have input "hello_world" as an OP_RETURN script. How do I make it a known protocol so that the transaction can be confirmed? Is there a list of known protocols somewhere?</p>

CC BY-SA 4.0
2018-08-31T04:33:43.903Z
The technical term is in fact "standard" or "non-standard" transaction.   You can read the definition [here](https://bitcoin.stackexchange.com/questions/52528/how-is-a-standard-bitcoin-transaction-defined) or [here](https://bitcoin.org/en/developer-guide#standard-transactions).  But testnet isn't supposed to impose those restrictions, so I don't think this is what's affecting your transaction.
Nate Eldredge
CC BY-SA 4.0
2018-08-31T04:46:54.203Z
Not exactly a duplicate but the other question's answers are helpful in understanding the situation which is that my transaction is apparently fully "standard". So it's just blockcyper's code that doesn't like it. Still a mystery why the transaction isn't confirming though. Maybe testnet really is that slow.
Hypertable
CC BY-SA 4.0
2018-08-31T05:14:04.797Z
Actually, I think it isn't standard.  Not because of the OP_RETURN output, but because of the 546-satoshi output which is dust.  But again, I'm not sure how that's treated on testnet.
Nate Eldredge
CC BY-SA 4.0
2018-08-31T05:34:28.687Z
@NateEldredge That amount was determined by `bitcoinj`'s `params.getMinNonDustOutput()`. I am doing another test with a larger amount (and no OP_RETURN): 3500f82046a690638220af9fc857eb3a777ed599a368fcc9776ac6e896619a2d
Hypertable
<unconfirmed-transactions><non-standard-transaction>
Where are the specifications for making "known protocol" OP_RETURN scripts?
Hypertable
# Where are the specifications for making "known protocol" OP_RETURN scripts?

(Asked by: username_0 on 2018-08-31)

I have created a transaction with high miner's fee that is now in mempool that won't confirm:

<https://live.blockcypher.com/btc-testnet/tx/abcc4ce473f490896e87102fe3ffb857ff735a0fc97525dadf9c5b0ed5410f9f/>

From a previous question, I've been informed that the likely reason for this is that there is data embedded with a non-standard (or "unknown" protocol). I have input "hello\_world" as an OP\_RETURN script. How do I make it a known protocol so that the transaction can be confirmed? Is there a list of known protocols somewhere?

**Tags:** unconfirmed-transactions, non-standard-transaction

> **Comments:**
> **username_1**: The technical term is in fact "standard" or "non-standard" transaction.   You can read the definition [here](https://bitcoin.stackexchange.com/questions/52528/how-is-a-standard-bitcoin-transaction-defined) or [here](https://bitcoin.org/en/developer-guide#standard-transactions).  But testnet isn't supposed to impose those restrictions, so I don't think this is what's affecting your transaction.  
> **username_0**: Not exactly a duplicate but the other question's answers are helpful in understanding the situation which is that my transaction is apparently fully "standard". So it's just blockcyper's code that doesn't like it. Still a mystery why the transaction isn't confirming though. Maybe testnet really is that slow.  
> **username_1**: Actually, I think it isn't standard.  Not because of the OP_RETURN output, but because of the 546-satoshi output which is dust.  But again, I'm not sure how that's treated on testnet.  
> **username_0**: @username_1 That amount was determined by `bitcoinj`'s `params.getMinNonDustOutput()`. I am doing another test with a larger amount (and no OP_RETURN): 3500f82046a690638220af9fc857eb3a777ed599a368fcc9776ac6e896619a2d  

---

## 0 answers

