Apart from the limited transaction size in MB, which theoretically limits the maximum amount of money a transaction can handle, is there any standardized bound?
There is no limit on the per-input, per-output, fee, or total amount transacted, apart from the fact that all numbers need to be valid BTC amounts (which means not less than 0 and not more than 21M BTC).
-
-
@CarlosPinzón Well, very large transactions have happened in the past: coindesk.com/… As for a source, this is the code in Bitcoin that checks if a value is between 0 and 21 million coins: github.com/bitcoin/bitcoin/blob/… – Nick ODell Apr 2 '16 at 13:52
Transaction outputs are the only place we specify amounts, stored as 64-bit unsigned integers. So we can specify maximum of 92233720368.5 bitcoins in an transaction output.
https://github.com/bitcoin/bitcoin/blob/ddfd79659e31a41de4e9b824767b766116798a90/src/amount.h#L14
However, there are per-output checks using bool MoneyRange()
, when a new block is announced. This is more important, since it lowers the maximum amount that can be transacted to the 21-million figure.
https://github.com/bitcoin/bitcoin/blob/ddfd79659e31a41de4e9b824767b766116798a90/src/amount.h#L31