# Bitcoin dust: a relay-policy threshold, not a smallest coin

In Bitcoin Core relay policy, dust is an output whose value is small relative to its estimated spending cost at the configured dust relay fee. It is not a universal minimum amount enforced by Bitcoin consensus, and the threshold depends on the output’s script type and node policy.

Evidence: [Bitcoin Core relay-policy implementation](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/policy.cpp)

Canonical: https://degreesofsatoshi.com/encyclopedia/bitcoin-dust/
Published: 2026-10-02
Substantively modified: 2026-10-02
Independently verified by an automated reviewer: 2026-10-02T18:15:23.891Z
Data current through: 2026-10-02

AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied.

## Key facts

- **Unit:** An amount can be denominated in whole satoshis and still count as dust under relay policy. ([Bitcoin Core relay-policy implementation](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/policy.cpp))
- **Script:** Different output types have different estimated spending costs. ([Bitcoin Core relay-policy implementation](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/policy.cpp))
- **Policy:** Relay acceptance and consensus validity answer different questions. ([Bitcoin Core relay-policy implementation](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/policy.cpp); [Bitcoin Developer Guide: Transactions](https://developer.bitcoin.org/devguide/transactions.html))

## Why one fixed number is misleading

Bitcoin Core v29.0 calculates a dust threshold using the output’s serialized size, an estimate of the input needed to spend it and a dust relay fee. Its treatment distinguishes witness and non-witness spending costs.

Quoting a single dust threshold without identifying the script and policy setting omits part of the rule. Some provably unspendable outputs are treated differently because they are not expected to require a later spend.

Evidence: [Bitcoin Core relay-policy implementation](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/policy.cpp)

## A small output can become costly to use

For illustration, if adding an input costs about 70 virtual bytes and the chosen fee rate is 20 sat/vB, that input contributes about 1,400 satoshis to the fee estimate. A 500-satoshi receipt would add less value than that illustrative marginal fee. Actual sizes depend on the script and signature.

This economic comparison is separate from a node’s configured dust policy. Fee conditions can change, and a wallet may have other reasons for spending or excluding an output.

Evidence: [Segregated Witness consensus layer](https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0141.mediawiki); [walletcreatefundedpsbt RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/walletcreatefundedpsbt/)

## Unexpected small receipts do not authorize spending

Receiving a tiny output does not reveal a private key or require you to spend it. Combining that receipt with other coins can create additional public relationships, so a wallet’s coin-control tools may be relevant.

Avoid treating every tiny receipt as either harmless income or proof of a successful attack. Inspect its provenance and how your wallet would select it.

Evidence: [Bitcoin Developer Guide: Wallets](https://developer.bitcoin.org/devguide/wallets.html); [lockunspent RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/lockunspent/); [Bitcoin: A Peer-to-Peer Electronic Cash System](https://bitcoin.org/bitcoin.pdf)

## Questions

### Is one satoshi always a relayable output?

No. One satoshi is an amount unit. A node can reject an otherwise valid transaction from its mempool under dust or other relay policy.

Evidence: [Bitcoin Core relay-policy implementation](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/policy.cpp)

## Claims and scope

### bitcoin-dust-quick-answer

In Bitcoin Core relay policy, dust is an output whose value is small relative to its estimated spending cost at the configured dust relay fee. It is not a universal minimum amount enforced by Bitcoin consensus, and the threshold depends on the output’s script type and node policy.

Scope: {"collection":"bitcoin","dataAsOf":"2026-10-02","blockHeight":null}

### bitcoin-dust-fact-unit

Unit: An amount can be denominated in whole satoshis and still count as dust under relay policy.

Scope: {"collection":"bitcoin","dataAsOf":"2026-10-02","blockHeight":null}

### bitcoin-dust-fact-script

Script: Different output types have different estimated spending costs.

Scope: {"collection":"bitcoin","dataAsOf":"2026-10-02","blockHeight":null}

### bitcoin-dust-fact-policy

Policy: Relay acceptance and consensus validity answer different questions.

Scope: {"collection":"bitcoin","dataAsOf":"2026-10-02","blockHeight":null}

## Sources

- [Bitcoin Core relay-policy implementation](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/policy.cpp) — Bitcoin Core. Dust depends on script spend cost and relay-fee policy, not a consensus minimum. Locator: GetDustThreshold; IsDust. Retrieved: 2026-10-02T17:03:40.248Z.
- [Bitcoin Developer Guide: Transactions](https://developer.bitcoin.org/devguide/transactions.html) — Bitcoin developer documentation contributors. UTXO inputs, transaction outputs, change and the difference paid as a fee. Locator: P2PKH Script Validation; Transaction Fees And Change. Retrieved: 2026-10-02T17:03:41.190Z.
- [Segregated Witness consensus layer](https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0141.mediawiki) — Bitcoin BIPs contributors. Transaction weight and virtual-size definitions in the SegWit specification. Locator: Block size; Transaction size. Retrieved: 2026-10-02T17:22:20.465Z.
- [walletcreatefundedpsbt RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/walletcreatefundedpsbt/) — Bitcoin Core. Input selection, fee units, change output, selected inputs and transaction funding. Locator: Arguments and result fields. Retrieved: 2026-10-02T17:03:40.827Z.
- [Bitcoin Developer Guide: Wallets](https://developer.bitcoin.org/devguide/wallets.html) — Bitcoin developer documentation contributors. Spending keys, address derivation, backups and privacy trade-offs. Locator: Wallet Programs; Public Key Distribution-Only Wallets; Hierarchical Deterministic Key Creation. Retrieved: 2026-10-02T17:03:41.163Z.
- [lockunspent RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/lockunspent/) — Bitcoin Core. Preventing specified wallet outputs from automatic coin selection. Locator: Arguments and result fields. Retrieved: 2026-10-02T17:03:41.086Z.
- [Bitcoin: A Peer-to-Peer Electronic Cash System](https://bitcoin.org/bitcoin.pdf) — Satoshi Nakamoto. Most-work chain selection, Merkle inclusion, SPV limits and transaction change. Locator: Sections 4–5 and 7–11. Retrieved: 2026-10-02T17:03:41.335Z.

## Revision history

- 2026-10-02: Initial Bitcoin encyclopedia entry at this permanent URL.
- 2026-10-02: Added reusable claims, explicit source locators, and matching Markdown and JSON. This publishing change does not itself establish factual verification.

## Cite this entry

Degrees of Satoshi editorial project. “Bitcoin dust: a relay-policy threshold, not a smallest coin.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-dust/
