BlockchainKeyEncode[key,form]
encodes a private or public key in the specified blockchain format.
BlockchainKeyEncode
BlockchainKeyEncode[key,form]
encodes a private or public key in the specified blockchain format.
Details and Options
- BlockchainKeyEncode has the option BlockchainBase, with default setting $BlockchainBase.
- In BlockchainKeyEncode[key,form], key can be a PrivateKey or a PublicKey object.
- Possible formats specified by form include:
-
"Address" address format "WIF" Wallet Import Format - Formats supported by "Address" include Bitcoin P2PKH address, Ethereum address, ARK address, Cardano address, bloxberg address, Tezos address, Litecoin P2PKH address and Bitcoin Cash P2PKH address.
Examples
open all close allBasic Examples (1)
Scope (5)
Address (1)
Hexadecimal string (1)
Private key (1)
Public key (1)
Options (14)
BlockchainBase (14)
ARK (2)
Encode a public key as an ARK address:
keys = GenerateAsymmetricKeyPair["ARK" ]BlockchainKeyEncode[keys["PublicKey"], "Address", BlockchainBase -> "ARK"]Encode a public key as an ARK devnet address:
keys = GenerateAsymmetricKeyPair["ARK" ]BlockchainKeyEncode[keys["PublicKey"], "Address", BlockchainBase -> {"ARK", "Devnet"}]Bitcoin (2)
Encode a public key as a Bitcoin address:
keys = GenerateAsymmetricKeyPair["Bitcoin" ]BlockchainKeyEncode[keys["PublicKey"], "Address", BlockchainBase -> "Bitcoin"]Encode a public key as a Bitcoin testnet address:
keys = GenerateAsymmetricKeyPair["Bitcoin" ]BlockchainKeyEncode[keys["PublicKey"], "Address", BlockchainBase -> {"Bitcoin", "Testnet"}]Bitcoin Cash (1)
bloxberg (1)
Cardano (3)
Encode an ed25519 public key as a Cardano enterprise address:
keys = GenerateAsymmetricKeyPair[Method -> <|"Type" -> "EdwardsCurve", "CurveName" -> "ed25519"|>]BlockchainKeyEncode[keys["PublicKey"], "Address", BlockchainBase -> "Cardano"]This is equivalent to explicitly specifying the key in the association:
BlockchainKeyEncode[<|"PaymentKey" -> keys["PublicKey"]|>, "Address", BlockchainBase -> "Cardano"]Encode an ed25519 public key as a Cardano stake address:
stakeKeys = GenerateAsymmetricKeyPair[Method -> <|"Type" -> "EdwardsCurve", "CurveName" -> "ed25519"|>]BlockchainKeyEncode[<|"StakeKey" -> stakeKeys["PublicKey"]|>, "Address", BlockchainBase -> "Cardano"]Encode two ed25519 public keys (payment and stake keys) as a Cardano payment address:
paymentKeys = GenerateAsymmetricKeyPair[Method -> <|"Type" -> "EdwardsCurve", "CurveName" -> "ed25519"|>]stakeKeys = GenerateAsymmetricKeyPair[Method -> <|"Type" -> "EdwardsCurve", "CurveName" -> "ed25519"|>]BlockchainKeyEncode[<|"PaymentKey" -> paymentKeys["PublicKey"], "StakeKey" -> stakeKeys["PublicKey"]|>, "Address", BlockchainBase -> "Cardano"]Ethereum (1)
Litecoin (1)
Tezos (3)
Encode an ed25519 public key as a Tezos address:
keys = GenerateAsymmetricKeyPair[Method -> <|"Type" -> "EdwardsCurve", "CurveName" -> "ed25519"|> ]BlockchainKeyEncode[keys["PublicKey"], "Address", BlockchainBase -> "Tezos"]Encode a secp256k1 public key as a Tezos address:
keys = GenerateAsymmetricKeyPair[Method -> <|"Type" -> "EllipticCurve", "CurveName" -> "secp256k1"|>]BlockchainKeyEncode[keys["PublicKey"], "Address", BlockchainBase -> "Tezos"]Encode a prime256v1 public key as a Tezos address:
keys = GenerateAsymmetricKeyPair[Method -> <|"Type" -> "EllipticCurve", "CurveName" -> "prime256v1"|>]BlockchainKeyEncode[keys["PublicKey"], "Address", BlockchainBase -> "Tezos"]Possible Issues (2)
Encoding a public key as WIF format will return an error:
keys = GenerateAsymmetricKeyPair["Bitcoin" ]BlockchainKeyEncode[keys["PublicKey"], "WIF", BlockchainBase -> "Bitcoin"]When encoding a hexadecimal string as a Tezos address, BlockchainKeyEncode will assume it is an ed25519 public key:
BlockchainKeyEncode["201f3912af1df384f64708a03a6d4b3255777c9f7404150a9e593f8ae202e274", "Address", BlockchainBase -> "Tezos"]Related Guides
-
▪
- Working with Tezos Blockchains ▪
- Working with Litecoin Blockchains ▪
- Working with Ethereum Blockchains ▪
- Working with Cardano Blockchains ▪
- Working with bloxberg Blockchain ▪
- Working with Bitcoin Cash Blockchains ▪
- Working with Bitcoin Blockchains ▪
- Working with ARK Blockchains ▪
- Working with Blockchains
Related Workflows
- Create a Pay-to-Public-Key-Hash Bitcoin Address ▪
- Create an Ethereum Address ▪
- Create an ARK Address
History
Text
Wolfram Research (2019), BlockchainKeyEncode, Wolfram Language function, https://reference.wolfram.com/language/ref/BlockchainKeyEncode.html.
CMS
Wolfram Language. 2019. "BlockchainKeyEncode." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BlockchainKeyEncode.html.
APA
Wolfram Language. (2019). BlockchainKeyEncode. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BlockchainKeyEncode.html
BibTeX
@misc{reference.wolfram_2026_blockchainkeyencode, author="Wolfram Research", title="{BlockchainKeyEncode}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/BlockchainKeyEncode.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_blockchainkeyencode, organization={Wolfram Research}, title={BlockchainKeyEncode}, year={2019}, url={https://reference.wolfram.com/language/ref/BlockchainKeyEncode.html}, note=[Accessed: 12-June-2026]}