Recipe: New Wallet Setup
Create, secure, and fund a new wallet with policy controls
Overview
Set up a new Seashail wallet from scratch: create with Shamir shares for secure backup, configure policy limits, and fund it for first use.
Tools used: create_wallet, export_shares, update_policy, set_active_wallet, get_deposit_info, get_balance
Chains: All supported chains
Time to complete: 5-10 minutes
Prerequisites
- Seashail installed and daemon running
- Secure storage for backup shares (password manager, paper backup, hardware device)
Step 1: Create the wallet
Create a new generated wallet using Shamir 2-of-3 secret sharing.
{
"name": "create_wallet",
"arguments": {
"name": "trading-main"
}
}Expected result: Wallet created with share1 retained by Seashail, shares 2+3 ready for export. Wallet is now active.
Step 2: Export backup shares
Export shares 2 and 3 for offline storage. Store these in separate secure locations.
{
"name": "export_shares",
"arguments": {
"wallet": "trading-main"
}
}Expected result: JSON response with share2 and share3 as base64-encoded strings. Copy these immediately to secure storage.
Step 3: Configure spending policy
Set conservative limits for automated trading.
{
"name": "update_policy",
"arguments": {
"wallet": "trading-main",
"policy": {
"max_usd_per_swap": 500,
"max_usd_per_send": 200,
"max_usd_per_bridge": 1000,
"require_confirmation_above_usd": 2000,
"allowed_chains": ["solana", "base", "arbitrum"],
"blocked_tokens": []
}
}
}Expected result: Policy updated. All transactions from this wallet will be subject to these limits.
Step 4: Get deposit address
Get the Solana deposit address for funding.
{
"name": "get_deposit_info",
"arguments": {
"wallet": "trading-main",
"chain": "solana",
"token": "native"
}
}Expected result: Solana address displayed. Send SOL from an exchange or another wallet to this address.
Step 5: Verify funding
Check the wallet balance after depositing.
{
"name": "get_balance",
"arguments": {
"wallet": "trading-main",
"chain": "solana"
}
}Expected result: Balance shows deposited SOL. Wallet is now funded and ready for trading.
Variations
Import existing wallet
Use import_wallet instead of create_wallet if you have an existing private key or mnemonic.
{
"name": "import_wallet",
"arguments": {
"name": "imported-wallet",
"kind": "mnemonic"
}
}Seashail will prompt for the mnemonic via an interactive form (never pass secrets in tool arguments).
Multi-account setup
Create a pool of spending accounts under one root wallet.
{
"name": "create_wallet_pool",
"arguments": {
"wallet": "trading-main",
"count": 5
}
}This creates 5 new account indexes for isolated spending budgets.
Notes
- Store shares securely: Losing both backup shares means you cannot recover your wallet if share1 is lost.
- Test with small amounts: Fund with a small amount first to verify addresses are correct.
- Testnet first: Consider creating a testnet wallet first (
set_network_modeto "testnet") to practice the workflow. - Policy inheritance: Wallet-specific policies override the global default policy. Use
get_policywithout arguments to see the global default.