{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "bitcoin-timelocks",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/bitcoin-timelocks/",
  "collection": "bitcoin",
  "title": "Bitcoin timelocks: absolute dates and relative waiting periods",
  "description": "Compare absolute and relative Bitcoin timelocks, block-height and time-based conditions, and the difference between becoming spendable and being paid automatically.",
  "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 timelock restricts when a transaction or spending path can be valid. Absolute locks refer to a block height or time condition; relative locks depend on an input’s confirmation age. Reaching the condition permits an otherwise valid spend—it does not automatically broadcast, sign or confirm a payment.",
    "claimId": "bitcoin-timelocks-quick-answer",
    "sourceIds": [
      "bip65",
      "bip68",
      "bip112"
    ]
  },
  "keyFacts": [
    {
      "label": "Absolute",
      "value": "CHECKLOCKTIMEVERIFY can enforce an absolute transaction locktime condition.",
      "sourceIds": [
        "bip65"
      ],
      "id": "absolute",
      "claimId": "bitcoin-timelocks-fact-absolute"
    },
    {
      "label": "Relative",
      "value": "Sequence-based locks can measure block age or time in 512-second units.",
      "sourceIds": [
        "bip68"
      ],
      "id": "relative",
      "claimId": "bitcoin-timelocks-fact-relative"
    },
    {
      "label": "Script path",
      "value": "CHECKSEQUENCEVERIFY can require a relative-lock condition in a script.",
      "sourceIds": [
        "bip112"
      ],
      "id": "script-path",
      "claimId": "bitcoin-timelocks-fact-script-path"
    }
  ],
  "prerequisites": [
    "bitcoin-confirmations"
  ],
  "sections": [
    {
      "id": "absolute-relative",
      "heading": "A date-like condition versus an elapsed-age condition",
      "sourceIds": [
        "bip65",
        "bip68"
      ],
      "paragraphs": [
        "An absolute height condition refers to the same chain height regardless of when the output was created. A relative block lock starts from the confirmation height of the particular output being spent.",
        "For example, a relative delay of 144 blocks is about confirmation age, not a guaranteed 24-hour wall-clock wait. Block intervals vary, and time-based rules use specified chain-time measurements."
      ]
    },
    {
      "id": "authorization",
      "heading": "Unlocking time is not spending authority",
      "sourceIds": [
        "bip65",
        "bip112",
        "core-lockunspent"
      ],
      "paragraphs": [
        "A script can combine a timing condition with a signature requirement or provide several spending branches. Reaching one branch’s time threshold does not eliminate the other requirements of that branch.",
        "A wallet-local “locked coin” setting is different: it can exclude a coin from automatic selection without imposing a consensus restriction on other holders of the signing keys."
      ]
    },
    {
      "id": "settlement",
      "heading": "Budget for the transaction that comes afterward",
      "sourceIds": [
        "bip68",
        "bitcoin-dev-transactions"
      ],
      "paragraphs": [
        "After a valid spending path becomes available, someone still needs to construct and submit the transaction and pay its fee. Inclusion depends on the network and miner selection.",
        "Read the exact script and locktime semantics rather than treating a countdown in an interface as a promise of immediate delivery."
      ]
    }
  ],
  "faq": [
    {
      "question": "Can a timelock send funds automatically on a calendar date?",
      "answer": "A timelock alone cannot initiate a payment. It changes validity conditions; an authorized party still has to create and submit a valid spending transaction.",
      "sourceIds": [
        "bip65",
        "bip112"
      ]
    }
  ],
  "claims": [
    {
      "id": "bitcoin-timelocks-quick-answer",
      "articleSlug": "bitcoin-timelocks",
      "statement": "A Bitcoin timelock restricts when a transaction or spending path can be valid. Absolute locks refer to a block height or time condition; relative locks depend on an input’s confirmation age. Reaching the condition permits an otherwise valid spend—it does not automatically broadcast, sign or confirm a payment.",
      "sourceIds": [
        "source-4c5f236c04800844",
        "source-bdcb60e00657be1f",
        "source-c12cc4fc6275fee3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4c5f236c04800844",
          "locator": "Summary; Specification"
        },
        {
          "sourceId": "source-bdcb60e00657be1f",
          "locator": "Specification"
        },
        {
          "sourceId": "source-c12cc4fc6275fee3",
          "locator": "Summary; Specification"
        }
      ],
      "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 BIP-65 absolute constraints, BIP-68 version/disable/type semantics and 512-second granularity, and BIP-112 conditional script enforcement. A 144-block delay is not guaranteed 24 hours.",
          "Added lockunspent citation to distinguish wallet-local exclusions from consensus conditions. Meeting a lock condition does not create a signature, broadcast or guarantee inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-timelocks-fact-absolute",
      "articleSlug": "bitcoin-timelocks",
      "statement": "Absolute: CHECKLOCKTIMEVERIFY can enforce an absolute transaction locktime condition.",
      "sourceIds": [
        "source-4c5f236c04800844"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4c5f236c04800844",
          "locator": "Summary; Specification"
        }
      ],
      "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 BIP-65 absolute constraints, BIP-68 version/disable/type semantics and 512-second granularity, and BIP-112 conditional script enforcement. A 144-block delay is not guaranteed 24 hours.",
          "Added lockunspent citation to distinguish wallet-local exclusions from consensus conditions. Meeting a lock condition does not create a signature, broadcast or guarantee inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-timelocks-fact-relative",
      "articleSlug": "bitcoin-timelocks",
      "statement": "Relative: Sequence-based locks can measure block age or time in 512-second units.",
      "sourceIds": [
        "source-bdcb60e00657be1f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bdcb60e00657be1f",
          "locator": "Specification"
        }
      ],
      "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 BIP-65 absolute constraints, BIP-68 version/disable/type semantics and 512-second granularity, and BIP-112 conditional script enforcement. A 144-block delay is not guaranteed 24 hours.",
          "Added lockunspent citation to distinguish wallet-local exclusions from consensus conditions. Meeting a lock condition does not create a signature, broadcast or guarantee inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-timelocks-fact-script-path",
      "articleSlug": "bitcoin-timelocks",
      "statement": "Script path: CHECKSEQUENCEVERIFY can require a relative-lock condition in a script.",
      "sourceIds": [
        "source-c12cc4fc6275fee3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c12cc4fc6275fee3",
          "locator": "Summary; Specification"
        }
      ],
      "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 BIP-65 absolute constraints, BIP-68 version/disable/type semantics and 512-second granularity, and BIP-112 conditional script enforcement. A 144-block delay is not guaranteed 24 hours.",
          "Added lockunspent citation to distinguish wallet-local exclusions from consensus conditions. Meeting a lock condition does not create a signature, broadcast or guarantee inclusion."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "bip65",
      "label": "OP_CHECKLOCKTIMEVERIFY",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0065.mediawiki",
      "locator": "Summary; Specification",
      "note": "Absolute locktime constraints for spending transaction outputs.",
      "version": "BIP-65; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.600Z",
      "contentSha256": "717400aef7789a795bbc86a67e0f40ea94966aea13975052e1fc31a047207399",
      "recordId": "source-4c5f236c04800844"
    },
    {
      "id": "bip68",
      "label": "Relative lock-time using consensus-enforced sequence numbers",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0068.mediawiki",
      "locator": "Specification",
      "note": "Sequence-based relative confirmation age constraints.",
      "version": "BIP-68; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.762Z",
      "contentSha256": "ec5a50cc66fff7b4e4bc1f2e24587d7876649d1b5329ef73ffa2e5a3f647281b",
      "recordId": "source-bdcb60e00657be1f"
    },
    {
      "id": "bip112",
      "label": "CHECKSEQUENCEVERIFY",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0112.mediawiki",
      "locator": "Summary; Specification",
      "note": "Script enforcement of relative lock-time constraints.",
      "version": "BIP-112; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.748Z",
      "contentSha256": "61022872545daeb779ef5d38f769d7a155c0f85333653b20c83b0a2329b523c4",
      "recordId": "source-c12cc4fc6275fee3"
    },
    {
      "id": "core-lockunspent",
      "label": "lockunspent RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/lockunspent/",
      "locator": "Arguments and result fields",
      "note": "Preventing specified wallet outputs from automatic coin selection.",
      "version": "Bitcoin Core 29.0.0 RPC",
      "checkedAt": "2026-10-02T17:03:41.086Z",
      "contentSha256": "f8b3a01fa0af658e8f7d3e4d0b6b78ab86d58ed37d8751a0c448b46968c8969b",
      "recordId": "source-9f8c993a5e0440ca"
    },
    {
      "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"
    }
  ],
  "related": {
    "articles": [
      "lightning-payment-channels",
      "bitcoin-coinbase-maturity",
      "bitcoin-coin-control"
    ],
    "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 timelocks: absolute dates and relative waiting periods.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-timelocks/"
}
