Would miners generally accept a transaction that has one of its output values set to zero? Can the acceptance in this case depend also on the scriptPubKey associated with the zeroed output?


Each miner (or mining pool) sets their own policy, but miners using Bitcoin Core 0.9.0 and later will, by default, mine OP_RETURN (null data) outputs with zero value. They will not, by default, mine any other outputs with a value below the dust threshold, which is 1/3 as many satoshis as it would take to relay the output plus the corresponding input according to your node's relay fee policy.

For example, if your node's relay fee is 1000 satoshis per kilobyte, the output is a 36 byte P2PKH script, and the input that spends it is expected to be 148 bytes, then the minimum allowed value is 546 satoshis.

To learn more about the default Bitcoin Core rules, you want to check its IsStandard() function which determines what transactions it accepts into its memory pool. Bitcoin Core will mine anything in its memory pool. The rules have changed a lot over time, so here are a few different links:

(Note: the links above may not point to the right place if code gets moved around. Just search the page displayed for "IsStandard".)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.