Blockchain Address Formats

Blockchain addresses are like bank account numbers, and are used to receive digital assets. All blockchains require a blockchain address to receive digital assets, and the address format varies from blockchain to blockchain.

Each Levain wallet you create can have multiple deposit addresses, and each of them would have its own blockchain address.

There are many ways in which you can use blockchain addresses, such as, but not limited to:

  • Sharing your address with a counterparty, so that you can receive funds from them
  • Whitelisting your address on centralized exchanges, to move funds into Levain's self-custody wallets
  • Issuing deposit addresses to your users, so that they can send funds to your platform
  • Issuing a main wallet to your users, so that you can create programmable wallets for them

For this guide specifically, we will go through the address formats for the blockchains that are supported by Levain.

Ethereum and EVM-compatible blockchains

Ethereum, and all EVM-compatible blockchains, such as Polygon, BNB Chain, Arbitrum One, OP, etc., all use the same address format, which is the hexadecimal format. The address format begins with 0x and is 20 bytes long, and is represented in hexadecimal format.

For example, a Levain wallet created on the Ethereum blockchain will have an address that looks like this: 0x13E3cbf81a7c7F3e10DF41B713CC3485d0831Ee4, and may exist as the same address on other EVM-compatible blockchains as well, such as on Base and OP.

Bitcoin

Bitcoin has multiple address formats. While Levain wallets on Bitcoin are created with Taproot, it is important to understand the different address formats that are used on Bitcoin, since Levain supports all types of Bitcoin addresses.

Legacy

Legacy Bitcoin addresses begins with 1, is 34 bytes long and uses the Base58 format. For example, 1AKDDsfTh8uY4X3ppy1m7jw1fVMBSMkzjP is a legacy address.

Legacy addresses is the hash output of the public key, hence the term pay-to-pubkey hash (P2PKH), and is the original address format used by Bitcoin. While it is still widely used, it is not recommended to use legacy addresses for new wallets, as it is less efficient and more expensive to use.

Levain wallets will not have legacy addresses for receiving funds. However, you can still send funds to legacy addresses from Levain wallets.

SegWit

Segregated Witness (SegWit) addresses begins with 3, is 34 bytes long and uses the Base58 format. For example, 34nSkinWC9rDDJiUY438qQN1JHmGqBHGW7 is a SegWit address.

Introduced in 2017, SegWit addresses are an upgrade to the Bitcoin protocol and the legacy address format, and is also termed as pay-to-script hash (P2SH) addresses.

You can whitelist and send funds to SegWit addresses from Levain wallets.

Native SegWit

Native SegWit addresses begins with bc1, followed by q, then followed by 32 bytes long and uses the Bech32 format. For example, bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq is a Native SegWit address.

Native SegWit is also termed as pay-to-witness pubkey hash (P2WPKH). For more information on the address specifications, see BIP-173.

You can whitelist and send funds to Native SegWit addresses from Levain wallets.

Taproot

Taproot addresses also begins with bc1, followed by p, is 62 bytes long and uses the Bech32 format. For example, bc1ptjk5qw6488rdjyl8c4hqx24lfkxpm2tzy03fq703t5yy9j06lgrsxhj4m8 is a Taproot address created through Levain.

Levain currently uses Taproot addresses for your Bitcoin main wallet, as well as deposit addresses. Bitcoin wallets created on Levain are all 2-of-3 multisig wallets, including the deposit addresses.

When you create a wallet via Levain App, or via the createWallet mutation via the Levain GraphQL API, WalletType.UtxoP2tr is the default wallet type for Bitcoin wallets.

You can also whitelist and send funds to Taproot addresses from Levain wallets.

DeFiChain

Legacy

DeFiChain, being a fork of Bitcoin, also has legacy addresses. They start with 8 and are 34 bytes long. For example, 8WGgKsPzPQznRqYJdeYpQ2GDPB7mMLjtya is a DeFiChain legacy address.

Levain supports sending to legacy addresses, but does not create legacy addresses for DeFiChain wallets.

SegWit

DeFiChain also has SegWit addresses, which start with df1. For example, df1q22skmtujlm60k20vjlnlgg565uj3kxgkhw5rpdzpdlxsz7n9tx5sssawmh is a SegWit address.

Levain wallets are created using 2-of-3 multisig with WalletType.UtxoP2wshMultiSig as the default wallet type for DeFiChain wallets, and they have SegWit addresses.

Levain supports sending to SegWit addresses too.

Tron

Tron addresses are in the Base58 format, begins with T and is 34 bytes long. For example, a Levain wallet created on Tron will have an address that looks like TMnepb8SnGdh4vW33PLQNK6MSqrCz6cKM4.

Internally, Tron uses both Base58 and hexadecimal address formats for different RPC calls, and Levain helps to abstract away the complexities of managing the conversions. Levain will always display addresses in the Base58 format through Levain App and via the Levain GraphQL API.