Glossary / Transactions & fees
Standard transaction
- Definition
- A standard transaction is one that ordinary nodes agree to relay and hold in their mempools, which is a stricter bar than merely being valid under the consensus rules.
Two separate gates guard the network. Consensus decides what a block may contain and can only change by a fork; standardness decides what your node will pass along to its peers and changes whenever a new release ships. A transaction that fails the second gate is not invalid, it is unwelcome, and it has to reach a miner by some other route.
How it works
Standardness is a checklist applied by each node on its own, and Bitcoin Core's version of that checklist lives in one source file, src/policy/policy.cpp.
The main conditions are these. Every output script must match a recognized template: pay to public key hash, pay to script hash, the three witness types, bare multisig with no more than three keys, or a single data carrying output. The transaction may not exceed 400,000 weight units, which is 100,000 virtual bytes, one quarter of a full block. Its version must be in the accepted range. Its fee must clear the minimum relay rate, 1 satoshi per virtual byte by default. No output may be smaller than the dust threshold, 546 satoshis for a legacy output and 294 for a native SegWit one. Unlocking scripts must contain data pushes only, with no opcodes.
Failing any of these produces a specific error from sendrawtransaction, usually beginning with the word "non-mandatory-script-verify-flag" or "scriptpubkey", and the transaction never spreads beyond the node you submitted it to.
The policy layer exists because relay is free and blocks are not. Anyone can flood the network with transactions that will never be mined, so nodes refuse to carry shapes that look like abuse, are expensive to validate, or cannot realistically pay their way. Policy is also where experiments are kept out of general circulation until the ecosystem agrees they are safe, which is why loosening a policy rule can be as contentious as a soft fork despite requiring no coordination at all.
Where you see it
Most people meet standardness as an error message, and the wallets that produce it are usually doing something unusual on purpose.
Trying to send an output of 300 satoshis will trip the dust rule. Building a large multisig as bare script rather than inside pay to script hash will trip the template rule. Attaching more data than a node's data carrier setting allows will trip that limit. All three come back as a rejection from your own node before anything reaches the network.
Non-standard does not mean impossible, and there is now a market in getting around it. On February 2, 2023 the mining pool Luxor mined block 774,628 containing a single 3.94 megabyte transaction that no node would have relayed, submitted directly to the pool. Marathon later turned the same idea into a product called Slipstream in 2024, accepting non-standard and oversized transactions for direct inclusion. If you are an ordinary buyer, you will never need this, and being asked to use such a service is a strong signal that something odd is going on.
Standard transaction vs a consensus valid transaction
Consensus validity is what the whole network must agree on; standardness is what an individual node chooses to help with. A transaction can be consensus valid and non-standard, in which case a miner may include it and every node will accept the resulting block without complaint. The reverse cannot happen: nothing that breaks consensus is ever relayed, because it could never be mined anyway. Put plainly, standardness is a filter on the path to the miner, and consensus is the rule that decides whether history has been extended correctly.