Ark Addresses
Understanding the structure and implementation of Ark addresses
Overview
Ark addresses are a fundamental component of the Arkade ecosystem, enabling instant off-chain transactions with near-zero fees. This guide explains the structure and technical implementation of Ark addresses.
Address Structure
An Ark address is a bech32m encoding of:
- A network prefix (
ark
for mainnet,tark
for test networks) - The P2TR (Pay-to-Taproot) output key
- The server’s x-only public key
ark
(mainnet) or tark
(testnet)Ark Address Components
VTXO Script Paths
A VTXO (Virtual UTXO) is locked by a P2TR script composed of two paths:
- Collaborative Path: Requires signatures from both the server and the user
- Exit Path: Allows the user to unilaterally withdraw funds after a timelock period
The key path in the P2TR script is always the unspendable key 0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0
. This ensures that all spends must reveal the script path.
Like Bitcoin, the taproot tree encoded in the Ark address is revealed only when the VTXO is spent. If it doesn’t pass the server’s validation, the owner won’t be allowed to spend the VTXO off-chain. The unilateral exit would be the only option.
Example Addresses
Here’s an example of how the same components produce different addresses on mainnet and testnet:
Technical Implementation
The following code demonstrates how to create an Ark address with collaborative and exit script paths:
How Ark Addresses Work
Address Generation
When you create an Arkade wallet, the SDK generates an Ark address that encodes both your public key and the server’s public key.
Receiving Funds
When someone sends Bitcoin to your Ark address, they’re creating a VTXO (Virtual UTXO) that can be spent collaboratively off-chain.
Collaborative Spending
To spend the VTXO, both you and the Ark server must sign the transaction. This happens automatically when you use the SDK.
Unilateral Exit
If the Ark server becomes unavailable, you can still withdraw your funds after the timelock period using the exit script path.
Security Considerations
Ark addresses provide several security guarantees:
- Self-custody: You always maintain control of your funds through the exit path
- Timelock protection: The exit path ensures you can recover funds even if the server is unavailable
- Cryptographic verification: All transactions require valid signatures from authorized parties
Next Steps
Now that you understand Ark addresses, learn how to:
- Receive Payments - Start accepting Bitcoin payments with your Ark address
- Check Balances - View your available VTXOs and balance
- Send Payments - Send Bitcoin to other addresses