Understanding Blockchain Address Formats: BTC, ETH, and FIL

·

Blockchain technology has revolutionized the way we think about digital ownership and value transfer. At the core of this innovation are blockchain addresses—unique identifiers that allow users to send and receive cryptocurrencies securely. While they may appear as random strings of characters, these addresses follow specific formats depending on the network and cryptographic standards in use.

In this guide, we’ll explore the address structures of three major blockchain networks: Bitcoin (BTC), Ethereum (ETH), and Filecoin (FIL). We'll break down their technical differences, explain how they work under the hood, and clarify common misconceptions about balances and private keys.

Whether you're a developer, investor, or simply curious about crypto infrastructure, understanding these address types is essential for secure and efficient interaction with decentralized systems.

👉 Discover how blockchain address security impacts your digital asset management

Bitcoin (BTC) Address Formats

Bitcoin supports multiple address formats, each tied to different transaction types and technological upgrades over time. The three primary BTC address types are:

1. P2PKH (Pay-to-Public-Key-Hash) – "1" Addresses

These begin with a 1 and represent the original Bitcoin address format. Also known as legacy addresses, they use the SHA-256 and RIPEMD-160 hashing algorithms to generate a public key hash from your public key.

While fully functional, P2PKH addresses are less efficient in terms of transaction size and fees compared to newer formats.

2. P2SH (Pay-to-Script-Hash) – "3" Addresses

Starting with 3, these addresses support more complex transactions such as multi-signature wallets. They allow users to lock funds behind scripts rather than simple public keys, enhancing security and flexibility.

Importantly, many P2SH addresses also support SegWit (Segregated Witness), which separates signature data from transaction data to reduce block space usage and lower fees.

3. Bech32 – "bc1" Addresses

Bech32 addresses start with bc1 and were specifically designed for native SegWit transactions. They offer the lowest transaction fees and improved error detection capabilities due to their robust checksum design.

Because of their efficiency, Bech32 is considered the most future-proof BTC address format.

Note: A single Bitcoin private key can generate all three types of addresses. However, each address functions independently on the blockchain. Sending 1 BTC to each of the three derived addresses results in three separate unspent transaction outputs (UTXOs), each showing 1 BTC—not a combined balance of 3 BTC.

Understanding BTC Balances: It’s All About UTXO

Unlike traditional banking systems, Bitcoin does not track account balances directly. Instead, it uses the Unspent Transaction Output (UTXO) model.

Each time you receive BTC, it creates a new UTXO linked to one of your addresses. When you spend BTC, your wallet selects one or more UTXOs as inputs and generates new outputs—for the recipient and any change returned to you.

Wallets simulate a “balance” by scanning the blockchain for all UTXOs associated with your addresses and summing them up. This process happens off-chain through APIs like getbalance or listtransactions.

👉 Learn how UTXO models enhance transaction efficiency across blockchains

Ethereum (ETH) Address Format

Ethereum takes a different architectural approach using an account-based model, making it easier to track balances and execute smart contracts.

An Ethereum address is a 40-character hexadecimal string (20 bytes), derived from the Keccak-256 hash of the public key. It typically starts with 0x, indicating it's a hexadecimal number.

There are two main types of Ethereum accounts:

1. Externally Owned Accounts (EOAs)

Controlled by private keys, EOAs are what most users interact with when managing wallets. You can use an EOA to:

These accounts have no associated code and rely entirely on user-controlled private keys for access.

2. Contract Accounts

These are controlled by their own code and are created when a smart contract is deployed on the network. Each contract account has:

Crucially, contract accounts cannot initiate transactions on their own. They only respond to incoming transactions from EOAs or other contracts.

This design enables powerful decentralized applications (dApps), from DeFi platforms to NFT marketplaces.

Example: When you approve a token transfer on Uniswap, your EOA sends a signed message to the contract. The contract then executes trades based on predefined rules—no human intervention needed after initiation.

Filecoin (FIL) Address Structure

Filecoin, built for decentralized file storage, uses a flexible and extensible address format designed for interoperability and scalability.

A FIL address follows this structure:
<network><protocol><payload><checksum>

Let’s break it down:

For example:

This modular design allows Filecoin to support various cryptographic schemes while maintaining backward compatibility.

Key Differences Between UTXO and Account Models

FeatureBitcoin (UTXO)Ethereum (Account Model)
Balance TrackingRequires scanning all UTXOsDirect state lookup
Transaction SpeedHigh parallel verificationSequential execution
Smart ContractsLimited scriptingFull Turing-completeness
PrivacyHigher (per-output addressing)Lower (reused addresses common)
Space EfficiencyMore verbose transactionsCompact state representation

While Bitcoin prioritizes security and parallelizability via UTXO, Ethereum emphasizes developer flexibility with its account model—each suited to its ecosystem’s goals.

Frequently Asked Questions (FAQ)

Q: Can I reuse a Bitcoin address?
A: Technically yes, but it's discouraged for privacy reasons. The UTXO model allows generating a new address for every transaction, improving anonymity.

Q: Why do I have multiple BTC addresses from one wallet?
A: Modern wallets derive multiple addresses (legacy, SegWit, etc.) from a single seed phrase. Each serves different purposes—optimizing compatibility and cost.

Q: Are ETH addresses case-sensitive?
A: No, but they use EIP-55 checksum encoding, where capital letters indicate a checksummed format to prevent input errors.

Q: What happens if I send FIL to a testnet address?
A: Funds sent to a testnet (t) address are lost on mainnet. Always double-check the prefix before transferring.

Q: Can I convert a private key between WIF compressed and uncompressed?
A: No. WIF-compressed (K/L) and WIF-uncompressed (5) come from different hex formats and cannot be interconverted without losing functionality.

Q: Is Bech32 the best BTC address format?
A: Yes, for receiving funds. Bech32 offers lower fees and better error detection, though some older services may not support it yet.

Understanding blockchain address formats isn’t just technical trivia—it's foundational knowledge for safely navigating the crypto world.

👉 Explore how secure address generation protects your digital assets