Wallet address
By xChange.bg team
Published
A wallet address is where you ask to be paid in crypto. Unlike an IBAN, it carries no name and no bank, and a transfer to it cannot be recalled. That makes checking the address, and the network, the most important step in any payment.
How wallet addresses are made
Every account starts with a key pair. The private key stays secret and signs transactions. The public key is derived from it, and the address is derived from the public key. The steps differ by network:
- Ethereum and compatible networks (Base, Arbitrum, Polygon, Optimism and others): the address is the last 20 bytes of the Keccak-256 hash of the public key, written as 40 hexadecimal characters with 0x in front, 42 characters in total. ethereum.org notes that you can derive a public key from a private key, but not the other way round.
- Solana: an account address is a 32-byte value, usually an Ed25519 public key, shown as a base58-encoded string. Some Solana addresses are program derived addresses, which have no private key and are controlled by programs.
Because all Ethereum-compatible networks share one format, the same 0x address exists on each of them. The format tells you nothing about which network a payer should use, so an invoice should name both.
Checksums and checks
EIP-55 adds a checksum to Ethereum addresses through capitalisation: some letters are upper case depending on a hash of the address. A wallet that validates EIP-55 will reject most mistyped addresses. Solana's base58 format avoids characters that are easy to confuse, such as 0 and O.
Checks cannot tell you whether an address belongs to the right person. A valid address of a stranger passes every format test. A tool such as the crypto address checker helps with the format. Confirming the owner is up to you.
Addresses under EU rules
Regulation (EU) 2023/1113 applies the "travel rule" to crypto. When a provider sends crypto-assets, it must include the sender's and recipient's names and distributed ledger addresses. An address not linked to any provider is a self-hosted address, and for transfers above EUR 1,000 to or from one, the provider has to assess whether it belongs to its own client.
Example
A client owes you 1,200 USDC and you send your Base address by email. Before paying the full amount, the client sends 5 USDC as a test. You confirm arrival, and the client sends the remaining 1,195 USDC. The test costs one extra network fee, on Base usually a matter of cents, and protects 1,200 USDC from a copying error.
Common confusion
- An address is not a wallet. The wallet is the app holding the keys. One wallet can manage many addresses.
- Lower case does not mean invalid. It means there is no checksum to catch typos.
- Look-alike addresses exist. Scammers create addresses that share the first and last characters with yours. Compare the full string, not only the ends.
Frequently asked questions
Is it safe to share my wallet address?
- Sharing an address does not let anyone take funds from it, because spending requires the private key. Anyone with the address can, however, see its balance and transaction history on a public block explorer.
Why does my Ethereum address mix upper and lower case letters?
- That is the EIP-55 checksum. The pattern of capital letters is calculated from the address itself, so wallets can detect most typing errors. An address written in all lower case is still valid but carries no checksum.
Is my address the same on Ethereum, Base and Polygon?
- For a standard account, yes. Ethereum-compatible networks use the same address format, so one key controls the same 0x address on each of them. The balances on each network are separate.
What happens if I send crypto to a wrong address?
- Blockchain transfers cannot be reversed by a bank or the network. If the address belongs to someone else, only that person can send the funds back. If nobody controls the address, the funds are usually lost.
Why does an exchange ask for my name when I give a withdrawal address?
- Under Regulation (EU) 2023/1113, crypto-asset service providers must send the names and ledger addresses of the sender and recipient with each transfer, and for self-hosted addresses above EUR 1,000 assess whether the address belongs to their client.