Um npub é uma versão codificada em Bech32 da sua chave pública. A chave pública bruta tem 64 caracteres em hexadecimal, o que é inequívoco mas ilegível. Envolvê-la em um envelope Bech32 com o prefixo npub fornece algo como npub1pf8hkx3ang2jngcgpsawtmj48c90pgqasmgpva7qhvnsty5j87yqwk3vy5 que é fácil de copiar, colar e distinguir visualmente de uma chave privada.
Qualquer cliente Nostr aceita qualquer uma das formas. A forma npub existe porque copiar a string hex errada é um risco de segurança: uma chave pública é segura para compartilhar, uma chave privada não é, e o prefixo remove a ambiguidade.