{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "watch-only-wallets",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/watch-only-wallets/",
  "collection": "bitcoin",
  "title": "Watch-only wallets: seeing funds without the spending keys",
  "description": "Understand the capabilities and limits of a wallet that monitors Bitcoin outputs without possessing the private keys needed to spend them.",
  "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 watch-only Bitcoin wallet tracks scripts or public derivation information without holding the private keys needed to spend the corresponding outputs. It can display transactions and help construct unsigned payments, but another signer must provide authorization. A visible balance is not proof that its viewer controls the coins.",
    "claimId": "watch-only-wallets-quick-answer",
    "sourceIds": [
      "bip32",
      "core-importdescriptors",
      "bip174"
    ]
  },
  "keyFacts": [
    {
      "label": "Monitoring",
      "value": "Public descriptors can identify outputs without supplying private keys.",
      "sourceIds": [
        "bip380",
        "core-importdescriptors"
      ],
      "id": "monitoring",
      "claimId": "watch-only-wallets-fact-monitoring"
    },
    {
      "label": "Signing",
      "value": "A partially signed transaction can be passed to a separate signer.",
      "sourceIds": [
        "bip174"
      ],
      "id": "signing",
      "claimId": "watch-only-wallets-fact-signing"
    },
    {
      "label": "Coverage",
      "value": "Imported paths, ranges and scan timestamps affect what a wallet discovers.",
      "sourceIds": [
        "core-importdescriptors"
      ],
      "id": "coverage",
      "claimId": "watch-only-wallets-fact-coverage"
    }
  ],
  "prerequisites": [
    "bitcoin-wallets-explained"
  ],
  "sections": [
    {
      "id": "separation",
      "heading": "Separate observation from authorization",
      "sourceIds": [
        "bip32",
        "bip174"
      ],
      "paragraphs": [
        "A laptop can monitor an account while a separate signing device holds its secret keys. The laptop prepares transaction information; the signer checks the actual destinations and fee before returning signatures.",
        "Compromise of the laptop can still affect what is displayed or proposed. Keeping keys elsewhere does not remove the need to inspect the transaction on a trusted signing interface."
      ]
    },
    {
      "id": "import",
      "heading": "A missing balance can be a discovery problem",
      "sourceIds": [
        "core-importdescriptors",
        "bip380"
      ],
      "paragraphs": [
        "A descriptor tells the wallet which scripts to watch. A range or timestamp that omits earlier activity can produce an incomplete view. A newly imported watcher may need to scan relevant historical blocks.",
        "Check the intended network, address type, receive and change branches, and a known transaction. Re-importing a public record cannot recover a lost private key."
      ]
    },
    {
      "id": "proof",
      "heading": "A screenshot does not prove ownership",
      "sourceIds": [
        "bitcoin-dev-transactions",
        "bip174"
      ],
      "paragraphs": [
        "Anyone who knows a public address can inspect its outputs. A watch-only interface may show a large amount that its operator cannot spend. The capability demonstrated is observation, not signing authority.",
        "Even a signer must satisfy the output’s actual conditions, which may include multiple keys or timelocks. Avoid treating one displayed “balance” as a complete account of access."
      ]
    }
  ],
  "faq": [
    {
      "question": "Can a watch-only wallet recover a lost seed?",
      "answer": "No. Public derivation information can help identify outputs, but it does not reconstruct the missing secret required to sign their spending transactions.",
      "sourceIds": [
        "bip32"
      ]
    }
  ],
  "claims": [
    {
      "id": "watch-only-wallets-quick-answer",
      "articleSlug": "watch-only-wallets",
      "statement": "A watch-only Bitcoin wallet tracks scripts or public derivation information without holding the private keys needed to spend the corresponding outputs. It can display transactions and help construct unsigned payments, but another signer must provide authorization. A visible balance is not proof that its viewer controls the coins.",
      "sourceIds": [
        "source-225ce32b9f96878c",
        "source-0b4367ccf61f3090",
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Extended keys; Child key derivation; Security"
        },
        {
          "sourceId": "source-0b4367ccf61f3090",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "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 importdescriptors scan/range controls, BIP-380 public expressions and BIP-174 offline signing roles. A visible balance proves discovery, not private-key possession.",
          "Recovery limitations and separate spending conditions are consistent with key derivation and script authorization; no public-key recovery of a lost seed is promised."
        ]
      }
    },
    {
      "id": "watch-only-wallets-fact-monitoring",
      "articleSlug": "watch-only-wallets",
      "statement": "Monitoring: Public descriptors can identify outputs without supplying private keys.",
      "sourceIds": [
        "source-36e62aca6baaa2f2",
        "source-0b4367ccf61f3090"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        },
        {
          "sourceId": "source-0b4367ccf61f3090",
          "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": [
          "Read importdescriptors scan/range controls, BIP-380 public expressions and BIP-174 offline signing roles. A visible balance proves discovery, not private-key possession.",
          "Recovery limitations and separate spending conditions are consistent with key derivation and script authorization; no public-key recovery of a lost seed is promised."
        ]
      }
    },
    {
      "id": "watch-only-wallets-fact-signing",
      "articleSlug": "watch-only-wallets",
      "statement": "Signing: A partially signed transaction can be passed to a separate signer.",
      "sourceIds": [
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "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 importdescriptors scan/range controls, BIP-380 public expressions and BIP-174 offline signing roles. A visible balance proves discovery, not private-key possession.",
          "Recovery limitations and separate spending conditions are consistent with key derivation and script authorization; no public-key recovery of a lost seed is promised."
        ]
      }
    },
    {
      "id": "watch-only-wallets-fact-coverage",
      "articleSlug": "watch-only-wallets",
      "statement": "Coverage: Imported paths, ranges and scan timestamps affect what a wallet discovers.",
      "sourceIds": [
        "source-0b4367ccf61f3090"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0b4367ccf61f3090",
          "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": [
          "Read importdescriptors scan/range controls, BIP-380 public expressions and BIP-174 offline signing roles. A visible balance proves discovery, not private-key possession.",
          "Recovery limitations and separate spending conditions are consistent with key derivation and script authorization; no public-key recovery of a lost seed is promised."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "bip32",
      "label": "Hierarchical Deterministic Wallets",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0032.mediawiki",
      "locator": "Extended keys; Child key derivation; Security",
      "note": "Extended public keys, derivation and private-key exposure limitations.",
      "version": "BIP-32; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.467Z",
      "contentSha256": "e5e00a8289db2f681052cf24a745320afc225e66b25d1e489a7c884d2fc7f11f",
      "recordId": "source-225ce32b9f96878c"
    },
    {
      "id": "core-importdescriptors",
      "label": "importdescriptors RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/importdescriptors/",
      "locator": "Arguments and result fields",
      "note": "Descriptor import, active ranges, timestamps and watch-only use.",
      "version": "Bitcoin Core 29.0.0 RPC",
      "checkedAt": "2026-10-02T17:03:40.832Z",
      "contentSha256": "f11c0815a39b91d5c8fb7e080f7f7b07777fd71615771dfa490a44bc86590140",
      "recordId": "source-0b4367ccf61f3090"
    },
    {
      "id": "bip174",
      "label": "Partially Signed Bitcoin Transaction Format",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0174.mediawiki",
      "locator": "Roles; Creator; Updater; Signer; Finalizer",
      "note": "Exchange of transaction and signing data across participants.",
      "version": "BIP-174; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.522Z",
      "contentSha256": "f2a8e1a9c9e31cc7f607b3c7e2419c63eeccc4bd5b725968cde54ab8cfa1d410",
      "recordId": "source-5790dff0294c8035"
    },
    {
      "id": "bip380",
      "label": "Output Script Descriptors General Operation",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0380.mediawiki",
      "locator": "Specification; Key expressions; Checksum",
      "note": "Descriptors describe output scripts, keys and derivation information.",
      "version": "BIP-380; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.620Z",
      "contentSha256": "34e6510bb2eba9445a68eacf3d24d5a4e5f24481477488d5552f674ac81dd5fe",
      "recordId": "source-36e62aca6baaa2f2"
    },
    {
      "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": [
      "bitcoin-extended-public-keys",
      "partially-signed-bitcoin-transactions",
      "bitcoin-output-descriptors"
    ],
    "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. “Watch-only wallets: seeing funds without the spending keys.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/watch-only-wallets/"
}
