Public Key Hash addresses are typically 34 or 33 characters in length and they are encoded in Base58 format. Creating a public key hash address involves hashing a public key through hash functions SHA-256 and RIPEMD-160.
Script Hash addresses are exactly 34 characters in length, and they are encoded in Base58 format. Script Hash addresses share a lot of similarities with Legacy address. The main difference is that the address is created by hashing a redeem script instead of hashing a public key.
A redeem script can be thought of as coded instructions specifying how bitcoin received to the Script address can be spent in the future. The most common uses for Script address have been to create Nested SegWit addresses & multisig wallets.
Witness Public Key Hash addresses are exactly 42 characters in length, and they are encoded in Bech32 format. WPKH is the SegWit variant of Legacy address which was introduced to bitcoin upon the SegWit hard fork in August 2017.
Taproot addresses are exactly 62 characters in length, and they are encoded in Bech32m format (slightly modified version of Bech32). While SegWit and SegWit Script are known as SegWit V0, Taproot is considered SegWit V1. Taproot address was made available by the Taproot soft-fork in November 2021.
Confidential Address allows spender & receiver to transact without anyone else being able to view the amount transacted. Although amounts are confidential by default, the cryptography used still retains the ability for nodes to validate that the transaction does not inflate the supply of the asset being transacted.
Only the receiver alone can decrypt the amount sent in a transaction. However, the receiver has the option to share the private blinding key for a particular transaction to any third party.
Stealth Address allows receiver to publish a static address that spender can send funds privately and non-interactively. Spender do not learn what other payments have been made to the Stealth Address, and third-parties learn nothing at all.
PayNyms are exactly 116 characters in length, and they are encoded in Base58 format. Every PayNym details will always begin with prefix PM8T. V1 & V2 PayNym uses Legacy address but V3 & V4 can use other address variant.
Silent Addresses are exactly 116 characters in length, and they are encoded in modified version of Bech32 format. Every Silent Address will always begin with prefix sp1q. Address output generated is always Taproot address.
Whisper addresses are bitcoin addresses that are created by combining ≥ 2 pubkeys to get a new pubkey (the Whisper Address). The only way to get the whisper address's private key is to add together the original private keys
Invoice is a one-time payment destination natives to Lightning Network. An invoice can have fixed payment amount requested or flexible amount requested in which the spender can pay it with any amount. Lightning invoices are structured as :
Keysend is a type of lightning payment that does not require the receiver to provide an invoice. Instead, the spender includes their selected payment preimage in the TLV onion.
Keysend does not require the receiver to provide an invoice but directly to their public key, as long as their node has public channels and has Keysend enabled. Additional route hints is need to navigate through private channel (such as private node behind LSP).
"Like an email address, but for your Bitcoin". Lightning Address is human-readable Internet identifier that allows easier transaction experience over the Lightning Network. No scanning of QR codes or pasting invoices necessary.
Offers are static invoice with many more features. Offers provide a more dynamic and reusable alternative to traditional invoices, enabling automatic invoice generation, recurring payments, and improved privacy. Some BOLT12 features, such as recurring invoices and blinded payment paths are already available as experimental options in Core Lightning.
Ark addresses (that i know of) are 116 characters in length and they are encoded in slightly modified version of Bech32 format. If i'm not wrong, Ark Address creation requires 2 public keys from user's own pubkey + ASP's own pubkey. Here's one example of an Ark address :
Mercury addresses (that i know of) are 116 characters in length and they are encoded in slightly modified version of Bech32 format. If i'm not wrong, Mercury Address creation requires 2 public keys from user's own pubkey + SE's own pubkey. Here's one example of a Mercury address :