user132502: For educational purposes and better understanding of bitcoin script, I try to broadcast this transaction:
01000000 -> version

01 -> 1 input

0410a792656db6b10c28f2ded1a21f0cdf7cf31200b5a0179b5a254e325438b2 -> input hash

00000000 -> input index

8a -> sigscript lenght

4730440220460e5bf8a20995a4323c573c2428272d4c5738a35ac99def37813f1d752591cd022000c09914c6ec5cf9cbcba8228ea46583ec856d43da5fcc85b8fea8a1227763ec014104292959febef0a3c9ac140cb5a013f174f85a7978838890b196de3028fab725ed1a95cc9f26365f8665d6bbc9619b3f9f06695b4ce45f691b93f57a9f07e28849 -> sigscript

ffffffff - sequence

02 -> 2 output

0100000000000000 - > 1 sat

04 -> 4 bytes long

87021111 -> OP_EQUAL 0X1111

1819000000000000 -> 6424 sat

19 -> 25 bytes long

76a9145294db2204c27889dd9b7b88ff30cff6c40a62d788ac 
-> OP_DUP OP_HASH160 <pubkey hash> OP_EQUALVERIFY OP_CHECKSIG

00000000 -> timelock
01000000

I know the script of the 1st output is not standard (it's my purpose : OP_EQUAL 0X1111) but why is not valid?

user128539: note that your custom script is unspendable, as OP_EQUAL will push a 0 or a 1 and 0x1111 pushes 0x1111, you end up with 2 stack elements. (ending with 2 stack elements is not valid spend, segwit would be anyone can spend if this was the case)
transactions with outputs under the dust limit (1 sat definitely is) or nonstandard output scripts are nonstandard and will not be relayed

132502: <p>For educational purposes and better understanding of bitcoin script, I try to broadcast this transaction:</p>
<pre><code>01000000 -&gt; version

01 -&gt; 1 input

0410a792656db6b10c28f2ded1a21f0cdf7cf31200b5a0179b5a254e325438b2 -&gt; input hash

00000000 -&gt; input index

8a -&gt; sigscript lenght

4730440220460e5bf8a20995a4323c573c2428272d4c5738a35ac99def37813f1d752591cd022000c09914c6ec5cf9cbcba8228ea46583ec856d43da5fcc85b8fea8a1227763ec014104292959febef0a3c9ac140cb5a013f174f85a7978838890b196de3028fab725ed1a95cc9f26365f8665d6bbc9619b3f9f06695b4ce45f691b93f57a9f07e28849 -&gt; sigscript

ffffffff - sequence

02 -&gt; 2 output

0100000000000000 - &gt; 1 sat

04 -&gt; 4 bytes long

87021111 -&gt; OP_EQUAL 0X1111

1819000000000000 -&gt; 6424 sat

19 -&gt; 25 bytes long

76a9145294db2204c27889dd9b7b88ff30cff6c40a62d788ac 
-&gt; OP_DUP OP_HASH160 &lt;pubkey hash&gt; OP_EQUALVERIFY OP_CHECKSIG

00000000 -&gt; timelock
01000000
</code></pre>
<p>I know the script of the 1st output is not standard (it's my purpose : OP_EQUAL 0X1111) but why is not valid?</p>
 128539: <p>note that your custom script is unspendable, as <code>OP_EQUAL</code> will push a 0 or a 1 and <code>0x1111</code> pushes <code>0x1111</code>, you end up with 2 stack elements. (ending with 2 stack elements is not valid spend, segwit would be anyone can spend if this was the case)</p>
<p>transactions with outputs under the dust limit (1 sat definitely is) or nonstandard output scripts are nonstandard and will not be relayed</p>
