Overview
DynamicSvmWalletClient::create_wallet_account runs an Ed25519 MPC keygen ceremony and returns the wallet metadata (with base58 address) and the server key shares the customer must persist in their vault.
Prerequisites
Step 1: Choose Your Security Model
Same as EVM — see Create EVM Wallet. Solana wallets use the same ThresholdSignatureScheme enum.
Step 2: Choose Your Backup Mode
The back_up_to_dynamic flag works identically across EVM and SVM — see Create EVM Wallet — Choose Your Backup Mode for the full breakdown.
password is required when back_up_to_dynamic: true. The SDK rejects the call with Error::InvalidArgument if you pass None. The password locally AES-256-GCM-encrypts the share that gets uploaded to Dynamic’s backup store — needed later if you ever recover via run_recover_key_shares.
You always vault the returned Vec<ServerKeyShare> in your own infrastructure for day-to-day signing — the flag only decides whether Dynamic also keeps an encrypted disaster-recovery copy. With back_up_to_dynamic: false, no copy lives on Dynamic and password becomes optional; losing your vault in that mode means losing the wallet.
Step 3: Create the Wallet
wallet_properties.account_address is the base58-encoded Ed25519 public key — the standard Solana address format.
Step 4: Persist State
create_wallet_account() returns two pieces of state — each belongs in a different storage tier:
See Storage Best Practices for the full pattern.
Next Steps