List of address prefixes
Blockchain-based currencies use encoded strings, which are in a Base58Check encoding with the exception of Bech32 encodings. The encoding includes a prefix (traditionally a single version byte), which affects the leading symbol(s) in the encoded result. The following is a list of some prefixes which are in use in the reference Bitcoin codebase.
Decimal prefix | Hex | Example use | Leading symbol(s) | Example |
---|---|---|---|---|
0 | 00 | Pubkey hash (P2PKH address) | 1 | BTC_Address |
5 | 05 | Script hash (P2SH address) | 3 | BTC_Address |
128 | 80 | Private key (WIF, uncompressed pubkey) | 5 | 5Hwgr3u458GLafKBgxtssHSPqJnYoGrSzgQsPwLFhLNYskDPyyA |
133 | 80 | Private key (WIF, uncompressed pubkey, Electrum-defined[4] and now deprecated[5]) | 5 | 5TRC20_AddressQcgmjfcQVLsEgAoM |
128 | 80 | Private key (WIF, compressed pubkey) | K or L | L1aW4aubDFB7yfras2S1mN3bqg9nwySY8nkoLmJebSLD5BWv3ENZ |
129-134 | 80 | Private key (WIF, compressed pubkey, Electrum-defined[4] and now deprecated[5]) | L | LkUevPi661korFvRdQQUkEX35rA484oAwzsT93383q6mUqVe5cw2 |
135 | 80 | Private key (WIF, compressed pubkey, Electrum-defined[4] and now deprecated[5]) | L or M | M3dv4iRtSKb5oHwxjZCGLai1aiZMnuLdGt7iFwjK2ncC3Vu7tRwP |
4 136 178 30 | 0488B21E | BIP32 pubkey | xpub | xpub661MyMwAqRbcEYS8w7XLSVeEsBXy79zSzH1J8vCdxAZningWLdN3 zgtU6LBpB85b3D2yc8sfvZU521AAwdZafEz7mnzBBsz4wKY5e4cp9LB |
4 136 173 228 | 0488ADE4 | BIP32 private key | xprv | xprv9s21ZrQH143K24Mfq5zL5MhWK9hUhhGbd45hLXo2Pq2oqzMMo63o StZzF93Y5wvzdUayhgkkFoicQZcP3y52uPPxFnfoLZB21Teqt1VvEHx |
111 | 6F | Testnet pubkey hash | m or n | mipcBbFg9gMiCh81Kj8tqqdgoZub1ZJRfn |
196 | C4 | Testnet script hash | 2 | 2MzQwSSnBHWHqSAqtTVQ6v47XtaisrJa1Vc |
239 | EF | Testnet Private key (WIF, uncompressed pubkey) | 9 | 92Pg46rUhgTRC20_AddressNzyyNcc |
239 | EF | Testnet Private key (WIF, compressed pubkey) | c | cNJFgo1driFnPcBdBX8BrJrpxchBWXwXCvNH5SoSkdcF6JXXwHMm |
4 53 135 207 | 043587CF | Testnet BIP32 pubkey | tpub | tpubD6NzVbkrYhZ4WLczPJWReQycCJdd6YVWXubbVUFnJ5KgU5MDQrD9 98ZJLNGbhd2pq7ZtDiPYTRC20_AddressD |
4 53 131 148 | 04358394 | Testnet BIP32 private key | tprv | tprv8ZgxMBicQKsPcsbCVeqqF1KVdH7gwDJbxbzpCxDUsoXHdb6SnTPY xdwSAKDC6KKJzv7khnNWRAJQsRA8BBQyiSfYnRt6zuu4vZQGKjeW4YF |
Bech32 pubkey hash or script hash | bc1 | BTC_Address | ||
Bech32 testnet pubkey hash or script hash | tb1 | tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx |
Note that private keys for compressed and uncompressed bitcoin public keys use the same version byte. The reason for the compressed form starting with a different character is because a 0x01 byte is appended to the private key before base58 encoding.
The following table shows the leading symbol(s) and address length(s) for 160 bit hashes for each of the possible decimal version values:
Decimal version | Leading symbol | Address length |
---|---|---|
0 | 1 | up to 34 |
1 | Q-Z, a-k, m-o | 33 |
2 | o-z, 2 | 33 or 34 |
3 | 2 | 34 |
4 | 2 or 3 | 34 |
5-6 | 3 | 34 |
7 | 3 or 4 | 34 |
8 | 4 | 34 |
9 | 4 or 5 | 34 |
10-11 | 5 | 34 |
12 | 5 or 6 | 34 |
13 | 6 | 34 |
14 | 6 or 7 | 34 |
15-16 | 7 | 34 |
17 | 7 or 8 | 34 |
18 | 8 | 34 |
19 | 8 or 9 | 34 |
20-21 | 9 | 34 |
22 | 9 or A | 34 |
23 | A | 34 |
24 | A or B | 34 |
25-26 | B | 34 |
27 | B or C | 34 |
28 | C | 34 |
29 | C or D | 34 |
30-31 | D | 34 |
32 | D or E | 34 |
33 | E | 34 |
34 | E or F | 34 |
35-36 | F | 34 |
37 | F or G | 34 |
38 | G | 34 |
39 | G or H | 34 |
40-41 | H | 34 |
42 | H or J | 34 |
43 | J | 34 |
44 | J or K | 34 |
45-46 | K | 34 |
47 | K or L | 34 |
48 | L | 34 |
49 | L or M | 34 |
50-51 | M | 34 |
52 | M or N | 34 |
53 | N | 34 |
54 | N or P | 34 |
55-56 | P | 34 |
57 | P or Q | 34 |
58 | Q | 34 |
59 | Q or R | 34 |
60-61 | R | 34 |
62 | R or S | 34 |
63 | S | 34 |
64 | S or T | 34 |
65-66 | T | 34 |
67 | T or U | 34 |
68 | U | 34 |
69 | U or V | 34 |
70-71 | V | 34 |
72 | V or W | 34 |
73 | W | 34 |
74 | W or X | 34 |
75-76 | X | 34 |
77 | X or Y | 34 |
78 | Y | 34 |
79 | Y or Z | 34 |
80-81 | Z | 34 |
82 | Z or a | 34 |
83 | a | 34 |
84 | a or b | 34 |
85 | b | 34 |
86 | b or c | 34 |
87-88 | c | 34 |
89 | c or d | 34 |
90 | d | 34 |
91 | d or e | 34 |
92-93 | e | 34 |
94 | e or f | 34 |
95 | f | 34 |
96 | f or g | 34 |
97-98 | g | 34 |
99 | g or h | 34 |
100 | h | 34 |
101 | h or i | 34 |
102-103 | i | 34 |
104 | i or j | 34 |
105 | j | 34 |
106 | j or k | 34 |
107-108 | k | 34 |
109 | k or m | 34 |
110 | m | 34 |
111 | m or n | 34 |
112-113 | n | 34 |
114 | n or o | 34 |
115 | o | 34 |
116 | o or p | 34 |
117-118 | p | 34 |
119 | p or q | 34 |
120 | q | 34 |
121 | q or r | 34 |
122-123 | r | 34 |
124 | r or s | 34 |
125 | s | 34 |
126 | s or t | 34 |
127-128 | t | 34 |
129 | t or u | 34 |
130 | u | 34 |
131 | u or v | 34 |
132-133 | v | 34 |
134 | v or w | 34 |
135 | w | 34 |
136 | w or x | 34 |
137-138 | x | 34 |
139 | x or y | 34 |
140 | y | 34 |
141 | y or z | 34 |
142-143 | z | 34 |
144 | z or 2 | 34 or 35 |
145-255 | 2 | 35 |
References
- Jump up ? https://github.com/bitcoin/bitcoin/blob/0.14/src/chainparams.cpp#L129-L131
- Jump up ? https://github.com/bitcoin/bitcoin/blob/0.14/src/chainparams.cpp#L229-L231
- Jump up ? https://github.com/bitcoin/bitcoin/blob/0.14/src/chainparams.cpp#L325-L327
- ? Jump up to: 4.0 4.1 4.2 [1]
- ? Jump up to: 5.0 5.1 5.2 [2]
|