Documentation Index
Fetch the complete documentation index at: https://www.dynamic.xyz/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This guide walks you through creating Solana (SVM) wallets using Dynamic’s Python SDK. Solana wallets use Ed25519 key pairs and return base58-encoded addresses.Prerequisites
Step 1: Choose Your Security Model
Dynamic supports two threshold signature schemes for Solana wallets:TWO_OF_TWO (Recommended)
- Security: Highest — requires both your server and Dynamic’s infrastructure
- Availability: Lower — both parties must be online to sign
- Use case: High-value transactions, maximum security
TWO_OF_THREE (Advanced)
- Security: High — requires 2 of 3 shares
- Availability: Medium — tolerates one party being offline
- Use case: Balanced security and availability
Step 2: Create Your First Solana Wallet
create_wallet_account returns a WalletProperties dataclass — account_address is the base58-encoded Ed25519 public key (the standard Solana address format), and wallet_id is the Dynamic identifier you’ll need for delegated signing.
To opt into the advanced threshold scheme, pass threshold_signature_scheme:
Step 3: Store Wallet Information
Persist what you need to operate on the wallet later:load_wallet and pass password= on subsequent sign calls so the SDK can auto-recover the local key share:
Step 4: Handle Errors
Best Practices
- Password security — Use a strong, unique password per wallet. Store it encrypted in a secrets manager.
- Store wallet ID — Save
wallet.wallet_idin your database. It’s required for delegated signing. - Context manager — Use
async withso the underlying HTTP client is properly closed. - Rehydrate, don’t recreate — In long-lived servers or fresh processes, use
load_wallet(address)pluspassword=instead of creating a new wallet.