Education

Crypto Address Formats: Bitcoin, Ethereum, And More

Cryptocurrency addresses, also known as cryptocurrency public addresses, are publicly visible destinations that tell where funds are sent and received on a blockchain. Our post covers all the info you need to understand the various crypto address format types as well as best practices for using crypto addresses. 

How Do Crypto Addresses Work?

Public key cryptography supports the creation of new crypto addresses. While the mathematics behind public key cryptography are highly complex, the idea behind it is actually quite easy to understand. Whenever you use a cryptocurrency wallet to create a new public address, that address is attached to a private key. Each public address/private key combination is designed to be 100% unique. A private key essentially acts as a really long, exceedingly random password that is nearly impossible to guess even with supercomputers.

With non-custodial wallets, the end user is responsible for private key security. With custodial wallets, a third-party is responsible for private key security. For most crypto applications (such as centralized exchanges), end users are typically able to use a human-readable password for easier and more secure access to funds.

For both custodial and non-custodial cryptocurrency wallets, users need a unique crypto address to receive cryptocurrency on a blockchain. If you accidentally use the wrong public address when sending funds or give someone else the wrong address, there is no way to easily recover your funds on the blockchain once the transaction occurs. Although this may seem intimidating to new users, it is something that you will grow accustomed to quickly enough.

One common issue is not recognizing the difference between various crypto address formats. Thankfully, built-in check systems can stop many of these cases. For example, sending Bitcoin (BTC) to an Ethereum (ETH) wallet isn’t possible, but there are quite a few scenarios in which this might lead to unrecoverable funds. That’s why it’s extremely important to understand address formats you intent to use.

Common Crypto Address Formats

Despite the fact that cryptocurrency addresses are basically generated in the same manner with public key cryptography, there are all sorts of formats for different blockchains. Let’s break down a few common examples. There are many other crypto address formats out there, so be sure to take note before sending crypto to another wallet.

Bitcoin (BTC) –  Originally, Bitcoin supported transactions using a Bitcoin public key. For more more user-friendliness and improved security, the network quickly switched to Bitcoin addresses. BTC addresses range from 27 to 34 alphanumeric characters, with each one beginning with 1, 3, or bc1. The beginning character in a Bitcoin address depends on the type of address (P2PKH, P2SH, or Bech32). All address formats work with one another. For example, you can send BTC from an address that starts with “1” to an address that starts with “3” or “bc1” or vice versa.

Bitcoin Cash (BCH) – After the Bitcoin Cash blockchain broke away as a separate blockchain from Bitcoin, BCH addresses initially used the same format as Bitcoin. This presented a dilemma, however, as users sometimes sent BCH to BTC blockchain address (or vice versa) accidentally. In some instances, users could not recover their funds. In January 2018, Bitcoin Cash moved to a new address format to solve this issue. Today BCH addresses can be easily identified with either a “q” or “bitcoincash” at the beginning. Each BCH address also has a “legacy address”, which can still be used to send funds on the network.

Ethereum – All Ethereum addresses have a length of 40 hexadecimal characters and begin with “0x”. Ethereum smart contract addresses also follow this format, making them visually indistinguishable from wallet addresses. The main difference is that a smart contract address has no private key associated with it directly. As a result, a smart contract for a token or decentralized application can’t send and receive funds on the Ethereum network. To further simplify crypto addresses and reduce the chances of sending to the incorrect address, solutions like Ethereum Name Service (ENS) and Unstoppable Domains provide a human-readable address format to make it easier to send funds to a username. As a hypothetical example, it would be easier to send “abraglobal.eth” because this username is easy to read. This short-form username is then associated with a long-format public address that starts with “0x”.

EOS (EOS) – Sending transactions to EOS public addresses works a bit differently than most blockchains. With EOS, each address is a 12 character-long human-readable address chosen by the user. The only exception is that some users have premium accounts that support addresses that are fewer than 12 characters. Another significant difference is that on other blockchains, sending to a public address is sufficient. However, with EOS crypto transactions, a memo is also required as a type of destination tag. Omitting or using an incorrect memo can cause delays or loss of funds when sending funds to centralized exchanges, for example.

Avalanche (AVAX) – AVAX addresses use a Bech32 addressing format. Avalanche is not prescriptive about addressing schemes. Each Virtual Machine (VM) may select its own addressing scheme. The Avalanche C-Chain, which follows the Ethereum VM addressing system, has addresses that begin with “C”. The Avalanche X-Chain and P-Chain use a binary 20-byte array for raw addresses, begin with “X” and “P” respectively. Every address, regardless of its first character, is followed by “avax1” to make it clear users are sending funds on the Avalanche blockchain network.

3 Best Practices for Using A Crypto Address

Greatly reduce the possibility of sending funds to an incorrect crypto address by taking a few simple measures.

  1. Double check receiving address – Being able to copy/paste an address ensures fewer mistakes, but there is always the possibility that you have selected the wrong address. A last second check to make sure that the address is the same as the one you intend to use helps eliminate this issue.
  2. Test out an address with a small transaction – If you are nervous about making transactions on a blockchain, going through the experience a few times is a good idea (assuming transaction fees are minimal on your chosen blockchain network). This is common practice even for experienced crypto users who are sending their first transaction on a new blockchain or looking to send a large amount of funds at a later date.
  3. Understand address limitations/exceptions – Just because you are using the correct address format, doesn’t mean there aren’t other mistakes to avoid. For example, many exchanges provide addresses that begin with “0x” for Ethereum (ETH) as well as ERC-20 tokens. For non-custodial wallets, it would be fine to use the same address for both ETH and any ERC-20 token. However, with centralized exchanges, your account might have restrictions to where you can only send Ethereum (ETH) to an ETH address. Each ERC-20 token (i.e. COMP or USDC) might have its own unique COMP address or USDC. This means addresses do not always function the same across all platforms. As mentioned above, some networks like EOS require users sending crypto to include a memo (destination tag/ID) in addition to a public address. This is an additional, yet highly critical step to ensuring that the intended recipient is able to receive a transaction.