The Dust Limit and Unspendable Outputs
The Dust Limit and Unspendable Outputs
While Bitcoin allows you to denominate transactions in tiny fractions (satoshis), you cannot create transaction outputs of arbitrary size. You cannot, for example, send a transaction output of exactly 1 satoshi to an address.
This restriction is enforced by a protocol-level economic firewall known as the Dust Limit.
๐ What is "Dust"?
An unspent transaction output (UTXO) is classified as Dust if the cost of spending it (the network transaction fee required to process its input bytes) is greater than the value of the output itself.
In other words, spending a "dust" UTXO is economically irrational because it would cost you more in fees to consume it than the coin is actually worth!
๐งฎ How the Dust Limit is Calculated
The dust limit is not a hardcoded constant in the Bitcoin protocol. Instead, it is a dynamic threshold calculated based on the node's minimum relay fee (typically 1,000 satoshis per kilobyte, or 1 sat/vByte).
To determine if an output is dust, nodes use a formula that calculates the size of a standard input required to spend that output, and then multiplies that fee cost by 3:
$$\text{Dust Limit (satoshis)} = 3 \times \text{vSize of Input} \times \text{Min Relay Fee rate (sats/vByte)}$$
Because different address scripts have different data sizes (or exploit SegWit weight discounts), the exact dust limit varies by address type:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DUST LIMITS BY SCRIPT โ
โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ADDRESS TYPE โ DUST THRESHOLD (satoshis) โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Legacy (P2PKH) โ 546 satoshis (starts with "1") โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Nested SegWit (P2SH) โ 540 satoshis (starts with "3") โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Native SegWit (Bech32)โ 294 satoshis (starts with "bc")โ
โโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
If a user tries to broadcast a transaction containing any output below these thresholds, standard Bitcoin nodes will reject it from entering their mempool and refuse to relay it to the network!
๐ก๏ธ Why the Dust Limit Exists: Preventing RAM Bloat
Why are standard nodes so strict about tiny transaction values?
It is a critical defense mechanism against Denial of Service (DoS) attacks and UTXO Set Bloat.
- The RAM Bottleneck: As established, full nodes keep the active global UTXO set cached in high-speed RAM (
chainstatedatabase) to validate transactions instantly. - The Attack Vector: If there were no dust limit, an attacker could broadcast millions of transactions creating 1-satoshi outputs to random addresses.
- The Consequence: Because these 1-satoshi outputs are too small to ever be spent economically, they would sit in nodes' RAM databases forever. This would exhaust the RAM of standard computers, forcing full node operators to shut down due to memory exhaustion, destroying the decentralization of the network.
The dust limit acts as an economic barrier. To bloat the UTXO set, an attacker must pay a minimum of 294 to 546 satoshis per output, making spam attacks prohibitively expensive.
๐ซ Provably Unspendable Outputs: OP_RETURN
There is one major exception to the dust limit rules: provably unspendable outputs.
Bitcoinโs native scripting language contains an opcode called OP_RETURN. Any script that begins with OP_RETURN is declared permanently, provably unspendable by protocol consensus.
* The Pruning Rule: Because OP_RETURN outputs can never be spent in the future, nodes do not need to store them in their RAM-cached UTXO database (chainstate). Nodes can write them straight to slow disk storage and prune them from memory immediately.
* No Dust Limit: Because they do not bloat the RAM of validation nodes, OP_RETURN outputs are exempt from the dust limit. They can have a value of exactly 0 satoshis, allowing developers to safely record up to 80 bytes of arbitrary metadata on the blockchain without penalty!
TeachMeBitcoin is an ad-free, open-source educational repository curated by a passionate team of Bitcoin researchers and educators for public benefit. If you found our articles helpful, please consider supporting our hosting and ongoing content updates with a clean donation: