{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "bitcoin-coinbase-maturity",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/bitcoin-coinbase-maturity/",
  "collection": "bitcoin",
  "title": "Coinbase maturity: why newly mined bitcoin must wait",
  "description": "Learn why newly created Bitcoin coinbase outputs have a 100-block maturity condition and distinguish it from ordinary payment confirmation policies.",
  "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": "A Bitcoin coinbase output cannot be spent in a valid transaction until the spending block is at least 100 heights after its creation block. This is a consensus maturity rule for coinbase outputs, not a general 100-confirmation requirement for every payment and not a rule of the Coinbase exchange.",
    "claimId": "bitcoin-coinbase-maturity-quick-answer",
    "sourceIds": [
      "core-validation",
      "core-consensus"
    ]
  },
  "keyFacts": [
    {
      "label": "Constant",
      "value": "Bitcoin Core v29.0 defines COINBASE_MATURITY as 100.",
      "sourceIds": [
        "core-consensus"
      ],
      "id": "constant",
      "claimId": "bitcoin-coinbase-maturity-fact-constant"
    },
    {
      "label": "Check",
      "value": "The spending height minus the coinbase creation height must be at least 100.",
      "sourceIds": [
        "core-validation"
      ],
      "id": "check",
      "claimId": "bitcoin-coinbase-maturity-fact-check"
    },
    {
      "label": "Coverage",
      "value": "The maturity check applies to the coinbase output, including its subsidy-and-fee-funded value.",
      "sourceIds": [
        "core-validation",
        "bitcoin-dev-blockchain"
      ],
      "id": "coverage",
      "claimId": "bitcoin-coinbase-maturity-fact-coverage"
    }
  ],
  "prerequisites": [
    "anatomy-of-a-bitcoin-block"
  ],
  "sections": [
    {
      "id": "height",
      "heading": "Avoid an off-by-one description",
      "sourceIds": [
        "core-validation",
        "core-consensus"
      ],
      "paragraphs": [
        "Suppose a coinbase output is created at illustrative height 900,000. Its earliest valid spending block under this check is 900,100: the height difference is 100. At tip 900,099, the creation block has 100 confirmations when counting its own block, and a spend can target the next block.",
        "This is why “wait 100 blocks” and an interface’s confirmation count need precise interpretation. The validation rule uses heights, not elapsed hours."
      ]
    },
    {
      "id": "reward",
      "heading": "The rule concerns a special transaction output",
      "sourceIds": [
        "bitcoin-dev-blockchain",
        "core-validation"
      ],
      "paragraphs": [
        "The coinbase transaction is the first transaction in a block and creates the miner’s allowed reward outputs. Ordinary payments do not receive this special maturity treatment merely because they originate from a mining business.",
        "A later pool payout made through a separate non-coinbase transaction creates ordinary outputs. Inspect the actual output type and transaction history rather than a business label."
      ]
    },
    {
      "id": "reorg",
      "heading": "Maturity is not a guarantee against every reorganization",
      "sourceIds": [
        "bitcoin-dev-blockchain",
        "core-validation"
      ],
      "paragraphs": [
        "The rule delays spending of newly created coinbase outputs. If the creating block is displaced, its coinbase output is not part of the new accepted chain.",
        "The maturity restriction should not be generalized into an assurance that any block 100 heights deep can never change."
      ]
    }
  ],
  "faq": [
    {
      "question": "Does an ordinary bitcoin transfer require 100 confirmations?",
      "answer": "No. This consensus condition is specific to coinbase outputs. Ordinary recipients choose confirmation policies based on their settlement needs and risk assumptions.",
      "sourceIds": [
        "core-validation",
        "bitcoin-whitepaper"
      ]
    }
  ],
  "claims": [
    {
      "id": "bitcoin-coinbase-maturity-quick-answer",
      "articleSlug": "bitcoin-coinbase-maturity",
      "statement": "A Bitcoin coinbase output cannot be spent in a valid transaction until the spending block is at least 100 heights after its creation block. This is a consensus maturity rule for coinbase outputs, not a general 100-confirmation requirement for every payment and not a rule of the Coinbase exchange.",
      "sourceIds": [
        "source-48301996fb33a646",
        "source-7f9f03e49e78d731"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48301996fb33a646",
          "locator": "CheckTxInputs"
        },
        {
          "sourceId": "source-7f9f03e49e78d731",
          "locator": "COINBASE_MATURITY; WITNESS_SCALE_FACTOR"
        }
      ],
      "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": [
          "Read CheckTxInputs and COINBASE_MATURITY = 100. Verified spending-height minus creation-height boundary and the 900000/900099/900100 example.",
          "Replaced unsupported prevalence wording about pool payouts with a structural statement about separate non-coinbase transactions. The maturity rule covers coinbase outputs including fee-funded value."
        ]
      }
    },
    {
      "id": "bitcoin-coinbase-maturity-fact-constant",
      "articleSlug": "bitcoin-coinbase-maturity",
      "statement": "Constant: Bitcoin Core v29.0 defines COINBASE_MATURITY as 100.",
      "sourceIds": [
        "source-7f9f03e49e78d731"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7f9f03e49e78d731",
          "locator": "COINBASE_MATURITY; WITNESS_SCALE_FACTOR"
        }
      ],
      "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": [
          "Read CheckTxInputs and COINBASE_MATURITY = 100. Verified spending-height minus creation-height boundary and the 900000/900099/900100 example.",
          "Replaced unsupported prevalence wording about pool payouts with a structural statement about separate non-coinbase transactions. The maturity rule covers coinbase outputs including fee-funded value."
        ]
      }
    },
    {
      "id": "bitcoin-coinbase-maturity-fact-check",
      "articleSlug": "bitcoin-coinbase-maturity",
      "statement": "Check: The spending height minus the coinbase creation height must be at least 100.",
      "sourceIds": [
        "source-48301996fb33a646"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48301996fb33a646",
          "locator": "CheckTxInputs"
        }
      ],
      "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": [
          "Read CheckTxInputs and COINBASE_MATURITY = 100. Verified spending-height minus creation-height boundary and the 900000/900099/900100 example.",
          "Replaced unsupported prevalence wording about pool payouts with a structural statement about separate non-coinbase transactions. The maturity rule covers coinbase outputs including fee-funded value."
        ]
      }
    },
    {
      "id": "bitcoin-coinbase-maturity-fact-coverage",
      "articleSlug": "bitcoin-coinbase-maturity",
      "statement": "Coverage: The maturity check applies to the coinbase output, including its subsidy-and-fee-funded value.",
      "sourceIds": [
        "source-48301996fb33a646",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48301996fb33a646",
          "locator": "CheckTxInputs"
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Proof Of Work; Block Height And Forking; Transaction Data"
        }
      ],
      "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": [
          "Read CheckTxInputs and COINBASE_MATURITY = 100. Verified spending-height minus creation-height boundary and the 900000/900099/900100 example.",
          "Replaced unsupported prevalence wording about pool payouts with a structural statement about separate non-coinbase transactions. The maturity rule covers coinbase outputs including fee-funded value."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "core-validation",
      "label": "Bitcoin Core validation implementation",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/consensus/tx_verify.cpp",
      "locator": "CheckTxInputs",
      "note": "Coinbase maturity, input value conservation and transaction fee validation.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T17:03:40.391Z",
      "contentSha256": "8fbc9bde843c2cfb0577ae7d179ad11f928b09bf8b0fc3e43a9ede7dc34a7370",
      "recordId": "source-48301996fb33a646"
    },
    {
      "id": "core-consensus",
      "label": "Bitcoin Core consensus constants",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/consensus/consensus.h",
      "locator": "COINBASE_MATURITY; WITNESS_SCALE_FACTOR",
      "note": "Consensus maturity and witness scale constants.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T17:03:40.530Z",
      "contentSha256": "b87cd3fc5ade6924e15b3f3cb558065b6abc656b4c19683238948c2c71eea862",
      "recordId": "source-7f9f03e49e78d731"
    },
    {
      "id": "bitcoin-dev-blockchain",
      "label": "Bitcoin Developer Guide: Block Chain",
      "publisher": "Bitcoin developer documentation contributors",
      "url": "https://developer.bitcoin.org/devguide/block_chain.html",
      "locator": "Proof Of Work; Block Height And Forking; Transaction Data",
      "note": "Block headers, transaction Merkle trees and competing valid branches.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:41.181Z",
      "contentSha256": "0102eb1bda0d084051a86735e4b293dadc5a93b2bee93ad71c62cfeb855f1583",
      "recordId": "source-190b9fe0eec933dc"
    },
    {
      "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-block-reorganizations",
      "how-bitcoin-mining-works",
      "bitcoin-halving-explained"
    ],
    "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. “Coinbase maturity: why newly mined bitcoin must wait.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-coinbase-maturity/"
}
