Assume that I want to store some arbitrary data on the Bitcoin blockchain via a single transaction.

Question: Is there any upper bound on the size of data I want to send via a single transaction?


Edit: I need to know how much "arbitrary data" I can store in the blockchain via a single transaction. Is there any upper bound on the field of the transaction that allows "some arbitrary data" to be stored in it?


1 Answer 1


Typically people will store arbitrary data in a separate output in a transaction beginning with OP_RETURN.

Any output with this OP code will be considered invalid or provably unspendable, but will still exist as part of the blockchain.

As mentioned in this thread Bitcoin-core options will allow for up to 80 bytes of arbitrary data by default. It is worth noting that 80 bytes is simply a default value. Nodes can change the -datacarriersize parameter to manually adjust the limit for the acceptance of larger or smaller amounts of data. For example, this transaction is 1155 bytes with 983 bytes of arbitrary data and has still been validated into the network.

The history of the default value is actually quite interesting and has been switched around a few times throughout Bitcoin's existance.

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