Generated vs Imported Wallets
Compare wallet types to decide how to create and manage your wallets.
Seashail supports two wallet types: generated wallets (using Shamir secret sharing) and imported wallets (from existing private keys or mnemonics). This comparison helps you choose the right approach.
Feature Comparison
| Feature | Generated (Shamir) | Imported (Key/Mnemonic) |
|---|---|---|
| Key custody | Shamir 2-of-3 shares | Full key stored locally |
| Backup | Share export (export_shares) | User's responsibility |
| Key rotation | rotate_shares available | Not available |
| Creation | create_wallet | import_wallet |
| Multi-chain | Same seed → EVM + Solana + Bitcoin | Private key: single chain; Mnemonic: multi-chain |
| Account pool | create_wallet_pool for sub-accounts | add_account for sub-accounts |
| Security model | No single point of failure | Key compromise = full loss |
| Use case | Primary long-term wallets | Importing existing wallets |
When to Use Generated Wallets
Generated wallets are recommended for:
- New wallets — Creating fresh wallets from scratch
- Long-term holdings — Maximum security for assets you plan to hold
- Highest security — No single point of failure (2-of-3 threshold)
- Multi-chain support — Seamlessly derive addresses for EVM, Solana, and Bitcoin
- Key rotation — Ability to regenerate shares without changing addresses
Generated wallets split the root secret into 3 shares using Shamir secret sharing. Any 2 shares can reconstruct the secret, but 1 share alone reveals nothing. Share 1 stays encrypted locally, and you export shares 2 and 3 for backup.
When to Use Imported Wallets
Imported wallets are recommended for:
- Existing wallets — Importing wallets you already use
- Specific private keys — Using a single-chain private key (EVM or Solana)
- Migration — Moving wallets from MetaMask, Phantom, or other tools
- Compatibility — Using a wallet generated by another tool
Important: Imported wallets store the full key locally (encrypted with your passphrase). You're responsible for backing up the original key or mnemonic.
Usage Examples
Generated Wallet
Create a new generated wallet:
{
"name": "my-trading-wallet"
}Export shares for backup (after creation):
{
"wallet": "my-trading-wallet"
}Rotate shares (regenerate all 3 shares):
{
"wallet": "my-trading-wallet"
}Imported Wallet (Private Key)
Import an EVM private key:
{
"name": "imported-metamask",
"kind": "private_key",
"private_key_chain": "evm"
}Import a Solana private key:
{
"name": "imported-phantom",
"kind": "private_key",
"private_key_chain": "solana"
}Note: The secret field is deprecated. Seashail will prompt you to enter the private key securely via an interactive form.
Imported Wallet (Mnemonic)
Import a BIP-39 mnemonic (multi-chain):
{
"name": "imported-seed",
"kind": "mnemonic"
}Note: Mnemonics support multi-chain derivation (EVM + Solana + Bitcoin) just like generated wallets.
Account Management
Both wallet types support sub-accounts:
Generated Wallets
Create a pool of spending accounts:
{
"wallet": "my-trading-wallet",
"count": 5
}This creates 5 new account indexes (BIP-44 derivation) under the same root.
Imported Wallets
Add a single account:
{
"wallet": "imported-metamask"
}For imported mnemonics, this derives the next BIP-44 account index.
Security Considerations
| Aspect | Generated (Shamir) | Imported |
|---|---|---|
| Passphrase compromise | Attacker needs passphrase + 2 shares | Attacker needs only passphrase |
| Share 1 compromise | Useless without share 2 or 3 | N/A |
| Local storage breach | 1 share + encrypted key (need 2 more pieces) | Full key encrypted (need 1 piece) |
| Backup loss | Can still access with local share + 1 backup share | Must restore from original backup |
See Also
- Getting Started — Initial wallet setup
- Wallet Security — Detailed security model
- Tools: Wallets Reference — Detailed wallet tool parameters
- Policy and Approvals — Configure security policies per wallet