WIF, Base58Check, Bech32, Bech32m, and checksums
Terms used in this lesson
- WIF
- Wallet Import Format, a Base58Check text encoding for a Bitcoin private scalar plus network and public-key compression metadata.
- Witness
- Signatures, scripts, or other data supplied to satisfy a Bitcoin output’s spending condition.
- P2PKH
- Pay to Public Key Hash, a legacy Bitcoin output template that commits to the hash of a public key.
- P2WPKH
- Pay to Witness Public Key Hash: a native SegWit output for one public-key hash.
- P2TR
- Pay to Taproot, the Bitcoin output type introduced with Taproot.
- SegWit
- Segregated Witness: a Bitcoin upgrade that separates authorization data from the transaction identifier and introduces versioned witness programs.
- HASH256
- Bitcoin's name for applying SHA-256 twice to the same byte sequence.
Encode and decode private-key and destination text formats byte by byte, including network markers, witness versions, conversion alphabets, and checksum limits.
Loading lesson visuals...
Learn the idea
Bitcoin text encodings carry exact bytes plus error-detecting checksums. Wallet Import Format, called WIF, encodes a private scalar with network and compression metadata using Base58Check. Legacy addresses also use Base58Check. SegWit addresses use Bech32 for witness version 0 and Bech32m for versions 1 through 16. A checksum detects many mistakes but does not authenticate the intended recipient.
Build Base58Check bytes
Concatenate the version byte and payload, append the first four bytes of HASH256, convert the whole big-endian integer to the Base58 alphabet, and preserve each leading zero byte as a leading 1 character.
Inspect every idea above to open it.
They are public text encodings with checksums. WIF contains a private key and must remain secret despite its checksum.
The questions unlock after every required learning activity
Inspect every guided idea, open the worked example, rebuild its mechanism, and complete the deterministic lesson tool. Your progress is saved automatically.