{
  "id": "bip32addr",
  "kind": "datatype",
  "status": "stable",
  "name": "BIP-32 extended key (xpub, xprv)",
  "doc": "Extended public or private key of a hierarchical deterministic (HD) wallet in the serialization of BIP-32: 4 version bytes, depth, fingerprint of the parent key, child number, 32-byte chain code and 33-byte key data, followed by a 4-byte checksum and encoded with Base58Check into 111 characters. Mainnet keys start with xpub (public) or xprv (private), testnet keys with tpub or tprv. An xprv value is a wallet secret that controls all funds below it; an xpub value reveals every address of its branch. Keys with the prefixes of SLIP-132 (ypub, zpub and others) use the same structure but are not matched here.",
  "is_pii": false,
  "categories": [
    "cryptocurrency",
    "secrets"
  ],
  "langs": [
    "common"
  ],
  "classification": "identifier",
  "regexp": "^[xt](?:pub|prv)[1-9A-HJ-NP-Za-km-z]{107}$",
  "checksum": "base58check",
  "examples": [
    {
      "value": "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8",
      "description": "BIP-32 test vector 1, extended public key of the master node (chain m)",
      "valid": true
    },
    {
      "value": "xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi",
      "description": "BIP-32 test vector 1, extended private key of the master node (chain m)",
      "valid": true
    },
    {
      "value": "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet9",
      "description": "test vector with the last character changed, the checksum fails",
      "valid": false
    }
  ],
  "links": [
    {
      "type": "doc",
      "url": "https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki"
    },
    {
      "type": "other",
      "url": "https://en.bitcoin.it/wiki/BIP_0032"
    }
  ],
  "translations": {
    "ru": {
      "name": "Расширенный ключ BIP-32 (xpub, xprv)"
    }
  },
  "detected_by": {
    "tools": [
      "metacrafter"
    ],
    "metacrafter_rules": [
      {
        "rule": "bip32addr_by_field",
        "type": "field",
        "match": "text",
        "file": "common/cryptocurrency.yaml"
      },
      {
        "rule": "bip32addr_xprv",
        "type": "data",
        "match": "ppr",
        "file": "common/cryptocurrency.yaml"
      },
      {
        "rule": "bip32addr_xpub",
        "type": "data",
        "match": "ppr",
        "file": "common/cryptocurrency.yaml"
      }
    ]
  },
  "quality": {
    "score": 90,
    "missing": [
      "mapping (Wikidata, Schema.org, ...)"
    ]
  },
  "source": {
    "path": "data/datatypes/any/cryptocurrency/bip32addr.yaml",
    "url": "https://github.com/apicrafter/metacrafter-registry/blob/main/data/datatypes/any/cryptocurrency/bip32addr.yaml",
    "edit_url": "https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/cryptocurrency/bip32addr.yaml"
  },
  "urls": {
    "html": "http://registry.apicrafter.io/datatype/bip32addr",
    "json": "http://registry.apicrafter.io/api/v1/datatypes/bip32addr.json"
  }
}