Kastle Wallet Derivation Path
Kastle Wallet Derivation Path Documentation
What is a Derivation Path?
A derivation path is a sequence that determines how cryptographic keys are generated from a seed phrase or hardware device. It follows a hierarchical structure that allows multiple accounts and addresses to be derived from a single seed.
Derivation Path Format
Kastle uses the following derivation path format:
Where:
m
represents the master key44'
is the purpose (BIP44 standard)111111'
is the coin type for Kaspa<account>'
is the account number0
represents the external chain (receiving addresses)<index>
is the address index
Supported Wallet Types and Their Derivation Paths
Kastle supports different wallet types, each with specific derivation path handling:
Private Key Wallet
Derivation Path: None
Private key wallets don't use derivation paths since they directly use the imported private key.
Ledger Hardware Wallet
Derivation Path: m/44'/111111'/<account>'/0/0
When connecting your Ledger hardware wallet, Kastle uses this fixed derivation path. You can select different accounts by changing the <account>
value.
Seed Phrase Wallet
Derivation Path: m/44'/111111'/<account>'/0/<index>
For seed phrase wallets, you can manage the <account>
part directly from the Kastle interface. This allows you to create multiple separate accounts from the same seed phrase.
Address Scanning and UTXO Discovery
In seed phrase wallets, the <index>
part is handled implicitly by the wallet. By default, Kastle scans addresses with indexes from 0 to 49 when looking for UTXOs (Unspent Transaction Outputs).
Important: These addresses are only used for scanning purposes and are not displayed in the interface. This approach manages the expectations of new crypto users or those coming from PoS chains.
Managing Accounts
You can manage different accounts in the Settings section of the Kastle wallet:
Open the wallet; you should land on the dashboard if your wallet is set up.
Click on the account name at the top left of the screen.
You can add an account directly by clicking "Create new account" or clicking on the wallet sub-menu icon (three dots) and selecting Manage accounts.
You should be able to select or deselect account you are interested in, with associated balances.
Best Practices
Backup your seed phrase: Always keep a secure backup of your seed phrase.
Use multiple accounts: For better privacy, consider using different accounts for different purposes.
Verify addresses: When receiving funds, always verify the address displayed by Kastle.
Wallet Compatibility and Migration
Different Derivation Paths Across Wallets
Other Kaspa wallets (such as Kasware, Kaspium, and Kasvault) might implement different derivation path schemes. While the coin type (111111'
) remains the same across all Kaspa wallets, differences may exist in:
The number of addresses scanned for UTXOs
The specific account structure
The way indexes are handled and displayed
Whether hardened derivation is used for all path components
Migration Between Wallets
When migrating between wallets, compatibility issues related to derivation paths may arise. To ensure a smooth migration:
Check derivation path compatibility: Before migrating, verify that both wallets use the same derivation path structure. Some wallets may provide this information in their settings or documentation.
Test with small amounts: Always test the migration process with a small amount first to ensure compatibility.
Recovery options: If the new wallet cannot detect funds due to derivation path differences, you have several options:
Adjust the derivation path in the new wallet if it offers this option (Available soon)
Import the private keys directly instead of using the seed phrase
Return to the original wallet and transfer funds to a new wallet
Consolidation Strategy
If direct migration isn't possible due to derivation path incompatibilities, follow this strategy:
Consolidate funds to index 0: In your original wallet, transfer all your funds to the address at index 0 (
m/44'/111111'/<account>'/0/0
). This address is most likely to be recognized by all wallets.Use compound transactions: If you have many UTXOs spread across multiple addresses, create a compound transaction that combines all these UTXOs and sends them to the address at index 0. This reduces transaction fees and simplifies the migration process.
Then migrate: After consolidation, import your seed phrase into the new wallet. Since all funds are now at the most standard index position, they should be detected regardless of scanning differences
Last updated