{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "bitcoin-rescan-vs-reindex",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/bitcoin-rescan-vs-reindex/",
  "collection": "bitcoin",
  "title": "Bitcoin wallet rescan versus node reindex",
  "description": "Distinguish a Bitcoin wallet rescan from rebuilding node indexes and chainstate, including what neither operation can recover.",
  "aliases": [
    "bitcoin rescan vs reindex",
    "bitcoin rescan vs reindex explained"
  ],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T19:29:20.637Z",
    "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 wallet rescan searches available blockchain data for transactions relevant to known wallet keys or scripts. Reindexing rebuilds node databases from block files; reindex-chainstate has a narrower state-rebuild purpose in Core. These operations solve different problems and do not recreate a lost private key. Choose the documented operation for the actual error and installed version before initiating a lengthy rebuild.",
    "claimId": "bitcoin-rescan-vs-reindex-quick-answer",
    "sourceIds": [
      "x425-btc-core-rescanblockchain",
      "x425-btc-core-init",
      "x425-btc-core-files"
    ]
  },
  "keyFacts": [
    {
      "label": "Rescan target",
      "value": "Wallet-related transaction discovery",
      "sourceIds": [
        "x425-btc-core-rescanblockchain"
      ],
      "id": "rescan-target",
      "claimId": "bitcoin-rescan-vs-reindex-fact-rescan-target"
    },
    {
      "label": "Reindex target",
      "value": "Node state and block/index databases",
      "sourceIds": [
        "x425-btc-core-init"
      ],
      "id": "reindex-target",
      "claimId": "bitcoin-rescan-vs-reindex-fact-reindex-target"
    },
    {
      "label": "Not recovered",
      "value": "Missing signing secrets",
      "sourceIds": [
        "x425-btc-dev-wallets"
      ],
      "id": "not-recovered",
      "claimId": "bitcoin-rescan-vs-reindex-fact-not-recovered"
    }
  ],
  "prerequisites": [
    "bitcoin-output-descriptors",
    "pruned-bitcoin-nodes"
  ],
  "sections": [
    {
      "id": "databases",
      "heading": "Identify the missing or damaged information",
      "sourceIds": [
        "x425-btc-core-files",
        "x425-btc-core-rescanblockchain",
        "x425-btc-core-init"
      ],
      "paragraphs": [
        "Core stores block bodies, chainstate and wallets in separate places. If a wallet already knows a relevant script but has not searched the period when it received funds, a rescan can discover the transactions. It is not the same as rebuilding consensus state for every wallet.",
        "If the node reports damaged chain databases, the appropriate recovery may involve reindexing. The cited v29.0 help defines reindex as rebuilding chainstate, block index and active optional indexes from block files."
      ]
    },
    {
      "id": "range",
      "heading": "A scan range can be smaller than the whole history",
      "sourceIds": [
        "x425-btc-core-rescanblockchain"
      ],
      "paragraphs": [
        "Suppose the earliest possible payment is at height 800,000 and the node has processed height 850,000. A documented scan from 800,000 through 850,000 covers 50,001 block heights inclusively. A mistaken start height after the receipt can miss it.",
        "The RPC reports where scanning began and ended. Available block filters can speed a descriptor-wallet scan in the documented configuration, but speed is not proof that the wallet’s script or derivation information is complete."
      ]
    },
    {
      "id": "constraints",
      "heading": "Pruning and backups affect the recovery path",
      "sourceIds": [
        "x425-btc-core-init",
        "x425-btc-core-files",
        "x425-btc-secure"
      ],
      "paragraphs": [
        "A pruned node may lack the historical block bodies required for a chosen operation. Core v29.0 explicitly treats pruning and reindex-chainstate as incompatible; a full rebuild path can require reacquiring data. Follow the installed release’s guidance rather than copying an old command blindly.",
        "Preserve wallet recovery material before invasive maintenance. Neither downloading the chain again nor rebuilding its index can manufacture a key that no remaining backup contains."
      ]
    }
  ],
  "faq": [
    {
      "question": "Will reindexing fix an incorrect seed or derivation path?",
      "answer": "No. Reindexing rebuilds node data. The wallet must still contain the correct keys, scripts and derivation information before a scan can identify and spend the intended outputs.",
      "sourceIds": [
        "x425-btc-core-init",
        "x425-btc-bip32"
      ]
    },
    {
      "question": "Does a rescan send a Bitcoin transaction?",
      "answer": "No. It searches local chain data for wallet-related history. It does not itself move funds, sign a payment or pay a network fee, although it can consume local computing resources.",
      "sourceIds": [
        "x425-btc-core-rescanblockchain"
      ]
    }
  ],
  "claims": [
    {
      "id": "bitcoin-rescan-vs-reindex-quick-answer",
      "articleSlug": "bitcoin-rescan-vs-reindex",
      "statement": "A wallet rescan searches available blockchain data for transactions relevant to known wallet keys or scripts. Reindexing rebuilds node databases from block files; reindex-chainstate has a narrower state-rebuild purpose in Core. These operations solve different problems and do not recreate a lost private key. Choose the documented operation for the actual error and installed version before initiating a lengthy rebuild.",
      "sourceIds": [
        "source-b5cd05a883329592",
        "source-75e29245a2925c41",
        "source-49ac1d73e9642790"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b5cd05a883329592",
          "locator": "Description; Arguments; Result"
        },
        {
          "sourceId": "source-75e29245a2925c41",
          "locator": "SetupServerArgs: assumevalid, reindex, reindex-chainstate, prune, listen, server; prune/reindex-chainstate compatibility check"
        },
        {
          "sourceId": "source-49ac1d73e9642790",
          "locator": "Data directory location and chain-specific paths; Data directory layout: blocks/, chainstate/, wallets/; Multi-wallet environment and backupwallet guidance"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 rescanblockchain range/result, init.cpp reindex versus reindex-chainstate and explicit pruning incompatibility.50,001inclusive heights checked. Added exact reindex option reference; no operation is claimed to recreate missing keys."
        ]
      }
    },
    {
      "id": "bitcoin-rescan-vs-reindex-fact-rescan-target",
      "articleSlug": "bitcoin-rescan-vs-reindex",
      "statement": "Rescan target: Wallet-related transaction discovery",
      "sourceIds": [
        "source-b5cd05a883329592"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b5cd05a883329592",
          "locator": "Description; Arguments; Result"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 rescanblockchain range/result, init.cpp reindex versus reindex-chainstate and explicit pruning incompatibility.50,001inclusive heights checked. Added exact reindex option reference; no operation is claimed to recreate missing keys."
        ]
      }
    },
    {
      "id": "bitcoin-rescan-vs-reindex-fact-reindex-target",
      "articleSlug": "bitcoin-rescan-vs-reindex",
      "statement": "Reindex target: Node state and block/index databases",
      "sourceIds": [
        "source-75e29245a2925c41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-75e29245a2925c41",
          "locator": "SetupServerArgs: assumevalid, reindex, reindex-chainstate, prune, listen, server; prune/reindex-chainstate compatibility check"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 rescanblockchain range/result, init.cpp reindex versus reindex-chainstate and explicit pruning incompatibility.50,001inclusive heights checked. Added exact reindex option reference; no operation is claimed to recreate missing keys."
        ]
      }
    },
    {
      "id": "bitcoin-rescan-vs-reindex-fact-not-recovered",
      "articleSlug": "bitcoin-rescan-vs-reindex",
      "statement": "Not recovered: Missing signing secrets",
      "sourceIds": [
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 rescanblockchain range/result, init.cpp reindex versus reindex-chainstate and explicit pruning incompatibility.50,001inclusive heights checked. Added exact reindex option reference; no operation is claimed to recreate missing keys."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "x425-btc-core-rescanblockchain",
      "label": "rescanblockchain RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/rescanblockchain/",
      "locator": "Description; Arguments; Result",
      "note": "Rescan local blocks for wallet-related transactions within a height range.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:55.698Z",
      "contentSha256": "26c1114ca6d3e56b68b4d410a1558b304e5811b96ef3b15016fbf961e333d9a5",
      "recordId": "source-b5cd05a883329592"
    },
    {
      "id": "x425-btc-core-init",
      "label": "Node initialization",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/init.cpp",
      "locator": "SetupServerArgs: assumevalid, reindex, reindex-chainstate, prune, listen, server; prune/reindex-chainstate compatibility check",
      "note": "Definitions of reindex/chainstate rebuild and node configuration switches.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T18:53:55.958Z",
      "contentSha256": "2d9bc7051d02ea8678e59a5f55947fb2381b00998293c0d040310540bc1b5c61",
      "recordId": "source-75e29245a2925c41"
    },
    {
      "id": "x425-btc-core-files",
      "label": "Files",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/doc/files.md",
      "locator": "Data directory location and chain-specific paths; Data directory layout: blocks/, chainstate/, wallets/; Multi-wallet environment and backupwallet guidance",
      "note": "Wallet, block, chainstate and index files have different recovery purposes.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T18:53:55.926Z",
      "contentSha256": "b22521efd202f947f5a126bb1f8bf24b1f03e48c3cc7928d3d5d11c53e2657b4",
      "recordId": "source-49ac1d73e9642790"
    },
    {
      "id": "x425-btc-dev-wallets",
      "label": "Wallets",
      "publisher": "Bitcoin developer documentation",
      "url": "https://developer.bitcoin.org/devguide/wallets.html",
      "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets",
      "note": "Wallet types, generated keys, deterministic wallets and offline signing.",
      "version": "Developer guide; historical implementation details require qualification",
      "checkedAt": "2026-10-02T18:53:53.756Z",
      "contentSha256": "1f3433f0ffac2ee2cc1d0d3ff1ac60ebaf68a92826dd813c8b312581a64344e0",
      "recordId": "source-38ff15e10892f1ee"
    },
    {
      "id": "x425-btc-secure",
      "label": "Securing your wallet",
      "publisher": "Bitcoin.org",
      "url": "https://bitcoin.org/en/secure-your-wallet",
      "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date",
      "note": "Backup scope, online exposure, offline signing, custody and software update practices.",
      "checkedAt": "2026-10-02T18:53:53.659Z",
      "contentSha256": "b6017f869461de2150d6b3b328f2ff75aedcd888d7a66cc311acbc243d6ead49",
      "recordId": "source-ccf126c494bfe748",
      "version": null
    },
    {
      "id": "x425-btc-bip32",
      "label": "Hierarchical Deterministic Wallets",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0032.mediawiki",
      "locator": "Motivation; Extended keys; Security",
      "note": "Deterministic key derivation, backup scope and public/private child derivation.",
      "version": "Pinned BIPs revision",
      "checkedAt": "2026-10-02T18:53:54.013Z",
      "contentSha256": "e5e00a8289db2f681052cf24a745320afc225e66b25d1e489a7c884d2fc7f11f",
      "recordId": "source-225ce32b9f96878c"
    }
  ],
  "related": {
    "articles": [
      "bitcoin-output-descriptors",
      "pruned-bitcoin-nodes",
      "bitcoin-node-vs-wallet-server",
      "bitcoin-test-networks"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and separate automated verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “Bitcoin wallet rescan versus node reindex.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-rescan-vs-reindex/"
}
