• BTC$77,566.00+0.88%
  • ETH$2,257.13+0.97%
  • USDT$1.00+0.05%
  • BNB$702.85+0.52%
  • ICP$2.52-0.98%

Network Stories · Protocol Incidents

The 2010 Value-Overflow Bug

On 15 August 2010 a single transaction created 184 billion bitcoin out of nothing. The bug was in the software, not the rules, and the network reorged the offending block away within hours.
Written by
The Bitcoin Data Guide editorial team
Reviewed by
Protocol review desk
Dates
Published 2026-09-21 · Last reviewed 2026-09-21

Fact

Block 74,638 contained a transaction that created an output of 184,467,440,737.09551616 bitcoin.

Forecast

How much damage a longer-lived version of the bug would have done is a counterfactual, not a record.

What the record shows

A transaction output carries a value, and the software that validated it summed the outputs to check that they did not exceed the inputs. In the version running in 2010 that sum was computed in a fixed-width integer, and a carefully chosen pair of outputs could overflow it, wrapping the total around to a small number that passed the check.

The transaction in block 74,638 did exactly that. It created two outputs whose values, when summed in the overflowing type, appeared to be within the inputs, while the actual amounts were enormous. The block was accepted by the nodes running the affected software, and the chain briefly contained an output of more than 184 billion bitcoin.

The fix added an explicit range check so that an output value that could not fit the type was rejected outright. Once the corrected software was running, the network mined a longer chain that did not include the offending block, and the reorg discarded it. The transaction is not part of the chain today.

Timeline

  1. 15 August 2010Block 74,638 is mined carrying a transaction that overflows the output-value check.
  2. Within hoursA corrected client is released and the network mines a longer chain that excludes the block.
  3. After the reorgThe overflow transaction is no longer part of the chain, and the range check prevents a repeat.

What the record does not settle

The incident is often used to argue that the network can correct a serious fault quickly. That the reorg happened is a fact; how much harm a longer-lived version would have caused is a counterfactual and is not asserted here.

The node verification page explains the checks a node applies to a transaction, and the UTXO model covers how output values are recorded.

Sources

Bitcoin block explorer — block 74,638
The block that carried the overflow transaction and was later reorged out of the chain.
Bitcoin Core source — CVE-2010-5139 fix
The value-range check added to reject outputs whose sum overflows the integer type.