60 / 691XPUB

Extended Public Key (xpub)

Chave pública estendida BIP32

Uma Extended Public Key (xpub) reúne chave pública BIP32, chain code e metadados para derivar descendentes públicos não hardened de um ramo HD sem revelar a chave privada.

Um xpub não é endereço Bitcoin nem chave de assinatura. Ele exporta um nó da árvore BIP32 para uma wallet watch-only ou servidor de recebimento gerar chaves e endereços abaixo dele. Normalmente não permite gastar, mas revela o ramo; o significado dos endereços depende também do derivation path e da script policy.

BIP32 representa a chave pública estendida como o ponto público K junto de um chain code c de 32 bytes. A serialização também leva version bytes, depth, parent fingerprint e child number. Portanto, xpub não é um endereço isolado: identifica um nó hierárquico e os dados para continuar seu ramo público.

CKDpub combina parent public key, chain code e índice com HMAC-SHA512. Para índices de 0 a 2³¹−1 produz uma child public key e novo chain code, permitindo gerar endereços receive e change sem segredo de assinatura. Deriva apenas descendentes do nó exportado, não irmãos nem ancestrais.

Índices hardened começam em 2³¹ e usam apóstrofo ou h. Sua derivação requer dados privados, então CKDpub a partir do parent xpub falha. Wallets normalmente endurecem purpose, coin type e account antes de exportar o account xpub, separando as demais contas hardened.

A serialização BIP32 tem 78 bytes: versão, depth, parent fingerprint, child number, chain code e 33 bytes de key material. Base58Check gera 111 caracteres; public mainnet começa por xpub e testnet por tpub. O prefixo resulta dos version bytes, não de outra espécie de chave criptográfica.

xpub não informa se as chaves formam scripts P2PKH, wrapped SegWit, native SegWit, Taproot ou multisig, e sem key origin o caminho pode ser ambíguo. SLIP-0132 introduziu ypub, zpub e outras versões como pistas; descriptor declara explicitamente script, fingerprint, path, xpub, wildcard e checksum.

Quem possui um account xpub calcula todas as receive e change public keys não hardened do ramo e correlaciona transações e saldos. Entregá-lo a software fiscal ou a um block explorer público cria uma visão duradoura da conta e pode ligar dados de rede ou identidade ao histórico on-chain.

Um xpub sozinho normalmente não assina. A exceção crítica de BIP32: parent xpub mais a private key de um descendente não hardened permite recuperar a parent private key e todo o ramo. Por isso xpub é dado sensível e fronteiras de account devem ser hardened.

Uma wallet watch-only monitora o xpub, constrói transação não assinada e a entrega ao dispositivo de assinatura. Uma loja gera endereços únicos sem guardar xprv. Isso limita roubo direto após invasão do servidor, não vigilância; o endereço de recebimento ainda deve ser conferido numa tela confiável.

Em multisig, o próprio seed não descreve toda a wallet: recuperação exata requer public keys dos cosigners, threshold, script type e derivation data. Um descriptor preserva a policy melhor que xpubs soltos. O master fingerprint de oito caracteres ajuda a associar chaves, mas não prova identidade e pode colidir.

Antes de importar, confirme network, account, derivation path, script type, ramos receive/change e faixa de índices. Compare xpub ou descriptor num dispositivo confiável, derive vários endereços e confronte-os com a wallet de origem; não use explorer externo sem aceitar conscientemente a perda de privacidade. Fontes: BIP 32 — Hierarchical Deterministic Wallets; BIP 380 — Output Script Descriptors General Operation; SLIP-0132 — Registered HD Version Bytes; Bitcoin Core — Output Descriptors; Trezor — What Is a Public Key (XPUB)?.

Para ter uma visão mais completa, leia este verbete junto com HD Wallet, Watch-only Wallet, Privacidade no Bitcoin, Derivation Path, Bitcoin, Output Descriptor. Também há referências a este verbete em HD Wallet, Cold Storage, Watch-only Wallet, Output Descriptor.

DOC · 001BIP 32 — Hierarchical Deterministic WalletsEspecificação ↗DOC · 002BIP 380 — Output Script Descriptors General OperationEspecificação ↗DOC · 003SLIP-0132 — Registered HD Version BytesEspecificação ↗DOC · 004Bitcoin Core — Output DescriptorsDocumentação ↗DOC · 005Trezor — What Is a Public Key (XPUB)?Documentação ↗
Revisado em 1º de agosto de 2026Fontes em primeiro lugar · Não é recomendação de investimento