{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "bitcoin-output-descriptors",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/bitcoin-output-descriptors/",
  "collection": "bitcoin",
  "title": "Output descriptors: describing what a Bitcoin wallet can find",
  "description": "Understand how Bitcoin descriptors describe scripts and key derivation, why their checksum is useful, and why some descriptors are sensitive.",
  "aliases": [
    "wallet descriptor"
  ],
  "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 output descriptor is a text expression describing the scripts a wallet should recognize or generate, including relevant keys and derivation information. It can make wallet recovery and watch-only setup more explicit. A descriptor checksum catches certain transcription errors; it does not prove ownership, safety or secrecy.",
    "claimId": "bitcoin-output-descriptors-quick-answer",
    "sourceIds": [
      "bip380",
      "core-importdescriptors"
    ]
  },
  "keyFacts": [
    {
      "label": "Purpose",
      "value": "A descriptor describes output scripts and associated key expressions.",
      "sourceIds": [
        "bip380"
      ],
      "id": "purpose",
      "claimId": "bitcoin-output-descriptors-fact-purpose"
    },
    {
      "label": "Range",
      "value": "Ranged descriptors can describe a sequence of derived outputs.",
      "sourceIds": [
        "bip380"
      ],
      "id": "range",
      "claimId": "bitcoin-output-descriptors-fact-range"
    },
    {
      "label": "Sensitivity",
      "value": "A descriptor may contain public or private key material; inspect its type before sharing.",
      "sourceIds": [
        "bip380"
      ],
      "id": "sensitivity",
      "claimId": "bitcoin-output-descriptors-fact-sensitivity"
    }
  ],
  "prerequisites": [
    "bitcoin-address-types"
  ],
  "sections": [
    {
      "id": "description",
      "heading": "Describe a wallet’s outputs rather than a single address",
      "sourceIds": [
        "bip380"
      ],
      "paragraphs": [
        "An address identifies a particular payment destination. A descriptor can describe how an entire family of output scripts is constructed. That distinction matters when a wallet needs to recognize receiving and change outputs over time.",
        "Key-origin and derivation information helps cooperating wallets agree on which keys belong to a script. It is operational metadata, not proof that a particular person owns the funds."
      ]
    },
    {
      "id": "restore",
      "heading": "What an import needs to know",
      "sourceIds": [
        "core-importdescriptors"
      ],
      "paragraphs": [
        "Bitcoin Core’s import interface includes a descriptor, timestamp and options such as active status and ranges. A timestamp helps define the historical search required to find activity. Importing the text does not necessarily make every historical transaction appear instantly.",
        "A descriptor that contains only public information can support recognition without supplying spending authority. A descriptor containing secret material requires the same care as other sensitive key backups."
      ]
    },
    {
      "id": "checksum",
      "heading": "What the checksum protects",
      "sourceIds": [
        "bip380"
      ],
      "paragraphs": [
        "The descriptor checksum is designed to detect transcription mistakes in the descriptor text. It is useful when copying a long expression between systems.",
        "A correctly checksummed malicious descriptor remains malicious, and a valid public descriptor can still reveal transaction relationships. Check provenance and privacy separately from syntax."
      ]
    }
  ],
  "faq": [
    {
      "question": "Is a descriptor the same as a seed phrase?",
      "answer": "No. A descriptor describes scripts and key derivation. A mnemonic seed scheme is a way of deriving key material. Recovery may require both the appropriate keys and enough wallet-policy information to locate and spend outputs.",
      "sourceIds": [
        "bip380",
        "bip39"
      ]
    }
  ],
  "claims": [
    {
      "id": "bitcoin-output-descriptors-quick-answer",
      "articleSlug": "bitcoin-output-descriptors",
      "statement": "A Bitcoin output descriptor is a text expression describing the scripts a wallet should recognize or generate, including relevant keys and derivation information. It can make wallet recovery and watch-only setup more explicit. A descriptor checksum catches certain transcription errors; it does not prove ownership, safety or secrecy.",
      "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 BIP-380 Motivation, Key Expressions and Checksum, and importdescriptors timestamp/range/active options. Descriptor text can contain private keys, and checksums only detect text errors.",
          "Recovery and watch-only implications follow explicitly from script/key metadata; a descriptor is not equated with a mnemonic."
        ]
      }
    },
    {
      "id": "bitcoin-output-descriptors-fact-purpose",
      "articleSlug": "bitcoin-output-descriptors",
      "statement": "Purpose: A descriptor describes output scripts and associated key expressions.",
      "sourceIds": [
        "source-36e62aca6baaa2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        }
      ],
      "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-380 Motivation, Key Expressions and Checksum, and importdescriptors timestamp/range/active options. Descriptor text can contain private keys, and checksums only detect text errors.",
          "Recovery and watch-only implications follow explicitly from script/key metadata; a descriptor is not equated with a mnemonic."
        ]
      }
    },
    {
      "id": "bitcoin-output-descriptors-fact-range",
      "articleSlug": "bitcoin-output-descriptors",
      "statement": "Range: Ranged descriptors can describe a sequence of derived outputs.",
      "sourceIds": [
        "source-36e62aca6baaa2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        }
      ],
      "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-380 Motivation, Key Expressions and Checksum, and importdescriptors timestamp/range/active options. Descriptor text can contain private keys, and checksums only detect text errors.",
          "Recovery and watch-only implications follow explicitly from script/key metadata; a descriptor is not equated with a mnemonic."
        ]
      }
    },
    {
      "id": "bitcoin-output-descriptors-fact-sensitivity",
      "articleSlug": "bitcoin-output-descriptors",
      "statement": "Sensitivity: A descriptor may contain public or private key material; inspect its type before sharing.",
      "sourceIds": [
        "source-36e62aca6baaa2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        }
      ],
      "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-380 Motivation, Key Expressions and Checksum, and importdescriptors timestamp/range/active options. Descriptor text can contain private keys, and checksums only detect text errors.",
          "Recovery and watch-only implications follow explicitly from script/key metadata; a descriptor is not equated with a mnemonic."
        ]
      }
    }
  ],
  "sources": [
    {
      "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": "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": "bip39",
      "label": "Mnemonic code for generating deterministic keys",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0039.mediawiki",
      "locator": "From mnemonic to seed",
      "note": "The optional passphrase participates in deriving a different seed.",
      "version": "BIP-39; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.588Z",
      "contentSha256": "afcbcbed36fe9eb734bd607398a8c124683ded2a75c3830e1b16c47b043a9134",
      "recordId": "source-a7583e32275982ab"
    }
  ],
  "related": {
    "articles": [
      "bitcoin-extended-public-keys",
      "watch-only-wallets",
      "bitcoin-multisig"
    ],
    "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. “Output descriptors: describing what a Bitcoin wallet can find.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-output-descriptors/"
}
