A transaction that follows the consensus guidelines is a sound transaction. Nevertheless, some further guidelines had been launched which can be referred to as standardness guidelines.
Bitcoin nodes solely relay (propagate) customary transactions. Thus the one technique to mine a sound however non-standard transaction is by arranging it with a miner.
Transaction measurement restrict
The utmost measurement for legacy (or non-Segwit) transactions is 1 MB, successfully the entire block. The standardness restrict, nevertheless, is 100 kBs. For Segwit transactions the utmost measurement restrict is 4 MBs (the burden restrict). Once more, standardness guidelines cut back that to 400 kBs.
The minimal measurement for legacy transactions is 65 bytes.
Inputs/Outputs restrict
Successfully, as many inputs and outputs because the consumer desires, supplied that it matches within the transaction measurement restrict.
Naked scripts restrict
Naked scripts have a measurement restrict of 10k bytes by consensus. Nevertheless, standardness guidelines explicitly specify the type of locking scripts allowed and the scripts are a lot smaller (e.g. P2PKH is 25 bytes, P2SH is 23 bytes, and many others).
P2SH scripts limits
P2SH scripts have a measurement restrict of 10k bytes by consensus. Standardness guidelines solely enable for 520 bytes for the redeem script although, which is sufficient for a 15-of-15 multisig. The utmost unlocking script (scriptSig) measurement is 1650 bytes.
P2WSH (Segwit v0) and P2SH-P2WSH limits
P2WSH scripts have a measurement restrict of 10k bytes by consensus. Standardness guidelines solely enable for 3600 bytes for the script witness. As well as, solely 201 non-push opcodes are allowed per script and solely 520 bytes could be pushed per stack aspect.
P2TR (Segwit v1) limits
As P2WSH however the script witness is now restricted solely by the transaction measurement (4MBs by consensus and 400kBs by standardness).
OP_RETURN DATA restrict
The consensus guidelines haven’t any restrict to an OP_RETURN measurement, i.e. the dimensions of the transaction is the restrict. One can even have multiple OP_RETURN in a transaction. Nevertheless, standardness guidelines specify that just one OP_RETURN output is allowed per transaction with a most information measurement of 80 bytes.
*EDIT: Particular miners can even apply native coverage guidelines along with the consensus guidelines. Since these are customized configurable guidelines they don’t seem to be record right here however an inventory of potential coverage guidelines could be discovered at https://github.com/bitcoin/bitcoin/tree/grasp/doc/coverage