{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "bitcoin-coin-selection",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/bitcoin-coin-selection/",
  "collection": "bitcoin",
  "title": "Bitcoin coin selection: which UTXOs a wallet spends",
  "description": "Understand how selecting Bitcoin UTXOs changes transaction size, fees, change and the relationships revealed on the public ledger.",
  "aliases": [],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T18:15:23.891Z",
    "dataAsOf": "2026-10-02"
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "Coin selection chooses the UTXOs a Bitcoin wallet will spend to fund a payment and its fee. Different choices can change input count, transaction weight, change outputs and which earlier receipts become linked. The smallest number of inputs is not always the best choice for every wallet objective.",
    "claimId": "bitcoin-coin-selection-quick-answer",
    "sourceIds": [
      "core-walletcreatefundedpsbt",
      "bitcoin-dev-transactions",
      "bitcoin-dev-wallets"
    ]
  },
  "keyFacts": [
    {
      "label": "Inputs",
      "value": "A transaction can spend several outputs received at different times.",
      "sourceIds": [
        "bitcoin-dev-transactions"
      ],
      "id": "inputs",
      "claimId": "bitcoin-coin-selection-fact-inputs"
    },
    {
      "label": "Cost",
      "value": "More signing data generally changes transaction weight and fee requirements.",
      "sourceIds": [
        "bip141"
      ],
      "id": "cost",
      "claimId": "bitcoin-coin-selection-fact-cost"
    },
    {
      "label": "Control",
      "value": "The cited funding RPC can take explicit inputs or select additional ones.",
      "sourceIds": [
        "core-walletcreatefundedpsbt"
      ],
      "id": "control",
      "claimId": "bitcoin-coin-selection-fact-control"
    }
  ],
  "prerequisites": [
    "what-is-a-utxo"
  ],
  "sections": [
    {
      "id": "choices",
      "heading": "The same balance can fund different transactions",
      "sourceIds": [
        "bitcoin-dev-transactions"
      ],
      "paragraphs": [
        "A wallet holding ten 10,000-satoshi UTXOs has a total of 100,000 satoshis. A second wallet may hold one 100,000-satoshi UTXO. Their displayed balances match, but their options for funding a large payment and the signing data required can differ.",
        "Selection must leave enough value for the payment and fee. The fee estimate itself depends on the chosen input types, outputs and expected signed size."
      ]
    },
    {
      "id": "tradeoffs",
      "heading": "Fees and privacy pull in different directions",
      "sourceIds": [
        "bitcoin-dev-wallets",
        "bip141",
        "bitcoin-whitepaper"
      ],
      "paragraphs": [
        "Combining many receipts can simplify later spending but puts them together in one public transaction. Observers may use that relationship as evidence when clustering activity, although such heuristics are not proof of a person’s identity.",
        "Selecting a larger input may create change; an exact-value selection may avoid it. The immediate fee, future cost of spending change and privacy consequences are different considerations."
      ]
    },
    {
      "id": "inspect",
      "heading": "Read the funded result",
      "sourceIds": [
        "core-walletcreatefundedpsbt"
      ],
      "paragraphs": [
        "The Bitcoin Core 29.0 funding RPC reports a fee and change position, and accepts options for input selection and fee subtraction. These fields make a useful review checklist even if another wallet exposes them differently.",
        "An estimated transaction is not signed authorization. Recheck the final outputs and fee before signing, particularly if a wallet had to add another input."
      ]
    }
  ],
  "faq": [
    {
      "question": "Does a bigger wallet balance always mean a cheaper payment?",
      "answer": "No. The relevant input structure and transaction size can differ even when two wallets have the same total balance.",
      "sourceIds": [
        "bitcoin-dev-transactions",
        "bip141"
      ]
    }
  ],
  "claims": [
    {
      "id": "bitcoin-coin-selection-quick-answer",
      "articleSlug": "bitcoin-coin-selection",
      "statement": "Coin selection chooses the UTXOs a Bitcoin wallet will spend to fund a payment and its fee. Different choices can change input count, transaction weight, change outputs and which earlier receipts become linked. The smallest number of inputs is not always the best choice for every wallet objective.",
      "sourceIds": [
        "source-a8abe4366f2656ba",
        "source-b282fdecc069b74d",
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        },
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Public Key Distribution-Only Wallets; Hierarchical Deterministic Key Creation"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explicit inputs/add_inputs and funded result fields in Core 29.0; BIP-141 supplies weight consequences. Ten 10,000-sat UTXOs and one 100,000-sat UTXO have equal value but different spending structures.",
          "Added white-paper section 10 for multi-input linking; retained qualification that common-control clustering is a heuristic rather than personal identification."
        ]
      }
    },
    {
      "id": "bitcoin-coin-selection-fact-inputs",
      "articleSlug": "bitcoin-coin-selection",
      "statement": "Inputs: A transaction can spend several outputs received at different times.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explicit inputs/add_inputs and funded result fields in Core 29.0; BIP-141 supplies weight consequences. Ten 10,000-sat UTXOs and one 100,000-sat UTXO have equal value but different spending structures.",
          "Added white-paper section 10 for multi-input linking; retained qualification that common-control clustering is a heuristic rather than personal identification."
        ]
      }
    },
    {
      "id": "bitcoin-coin-selection-fact-cost",
      "articleSlug": "bitcoin-coin-selection",
      "statement": "Cost: More signing data generally changes transaction weight and fee requirements.",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Block size; Transaction size"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explicit inputs/add_inputs and funded result fields in Core 29.0; BIP-141 supplies weight consequences. Ten 10,000-sat UTXOs and one 100,000-sat UTXO have equal value but different spending structures.",
          "Added white-paper section 10 for multi-input linking; retained qualification that common-control clustering is a heuristic rather than personal identification."
        ]
      }
    },
    {
      "id": "bitcoin-coin-selection-fact-control",
      "articleSlug": "bitcoin-coin-selection",
      "statement": "Control: The cited funding RPC can take explicit inputs or select additional ones.",
      "sourceIds": [
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explicit inputs/add_inputs and funded result fields in Core 29.0; BIP-141 supplies weight consequences. Ten 10,000-sat UTXOs and one 100,000-sat UTXO have equal value but different spending structures.",
          "Added white-paper section 10 for multi-input linking; retained qualification that common-control clustering is a heuristic rather than personal identification."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "core-walletcreatefundedpsbt",
      "label": "walletcreatefundedpsbt RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/walletcreatefundedpsbt/",
      "locator": "Arguments and result fields",
      "note": "Input selection, fee units, change output, selected inputs and transaction funding.",
      "version": "Bitcoin Core 29.0.0 RPC",
      "checkedAt": "2026-10-02T17:03:40.827Z",
      "contentSha256": "d30514044f4ab73bb52b4f8d9bb2d5b8a64482c26fd1b63be11defcb0f2ac6d6",
      "recordId": "source-a8abe4366f2656ba"
    },
    {
      "id": "bitcoin-dev-transactions",
      "label": "Bitcoin Developer Guide: Transactions",
      "publisher": "Bitcoin developer documentation contributors",
      "url": "https://developer.bitcoin.org/devguide/transactions.html",
      "locator": "P2PKH Script Validation; Transaction Fees And Change",
      "note": "UTXO inputs, transaction outputs, change and the difference paid as a fee.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:41.190Z",
      "contentSha256": "449ae88ea59f9b198c398d3f5f56f83a92cd6be1638fa6681a1fdeea164892c0",
      "recordId": "source-b282fdecc069b74d"
    },
    {
      "id": "bitcoin-dev-wallets",
      "label": "Bitcoin Developer Guide: Wallets",
      "publisher": "Bitcoin developer documentation contributors",
      "url": "https://developer.bitcoin.org/devguide/wallets.html",
      "locator": "Wallet Programs; Public Key Distribution-Only Wallets; Hierarchical Deterministic Key Creation",
      "note": "Spending keys, address derivation, backups and privacy trade-offs.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:41.163Z",
      "contentSha256": "e136c099f4abfa15673e3ead4f06e61536de38a71b88ef4a8965706c718d5893",
      "recordId": "source-38ff15e10892f1ee"
    },
    {
      "id": "bip141",
      "label": "Segregated Witness consensus layer",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0141.mediawiki",
      "locator": "Block size; Transaction size",
      "note": "Transaction weight and virtual-size definitions in the SegWit specification.",
      "version": "BIP-141; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.465Z",
      "contentSha256": "d72409335872a32494f75e7547589abf4b3b23b6beebe6bc6999c7a84b135e2c",
      "recordId": "source-896e868816ad19d1"
    },
    {
      "id": "bitcoin-whitepaper",
      "label": "Bitcoin: A Peer-to-Peer Electronic Cash System",
      "publisher": "Satoshi Nakamoto",
      "url": "https://bitcoin.org/bitcoin.pdf",
      "locator": "Sections 4–5 and 7–11",
      "note": "Most-work chain selection, Merkle inclusion, SPV limits and transaction change.",
      "version": "2008 paper",
      "checkedAt": "2026-10-02T17:03:41.335Z",
      "contentSha256": "b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553",
      "recordId": "source-0e46aca4dbc5a030"
    }
  ],
  "related": {
    "articles": [
      "bitcoin-coin-control",
      "bitcoin-change-addresses",
      "bitcoin-virtual-size"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "Initial Bitcoin encyclopedia entry at this permanent URL."
    },
    {
      "date": "2026-10-02",
      "kind": "publishing-format",
      "summary": "Added reusable claims, explicit source locators, and matching Markdown and JSON. This publishing change does not itself establish factual verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “Bitcoin coin selection: which UTXOs a wallet spends.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-coin-selection/"
}
