Overview
This guide walks you through creating EVM wallets using Dynamic’s Node SDK. You’ll learn how to set up different threshold signature schemes and understand the security implications of each choice.Prerequisites
Before you begin, make sure you have:Step 1: Choose Your Security Model
Dynamic supports two threshold signature schemes, each offering different security and availability trade-offs:TWO_OF_TWO (Recommended for most use cases)
- Security: Highest - requires both your server and Dynamic’s infrastructure
- Availability: Lower - both parties must be online
- Use case: High-value transactions, maximum security
TWO_OF_THREE
- Security: High - requires 2 out of 3 shares
- Availability: Medium - can tolerate one party being offline
- Use case: Balanced security and availability
Step 2: Create Your First Wallet
Here’s a complete example of creating an EVM wallet:Step 3: Handle Errors Gracefully
Always implement proper error handling for wallet creation:Step 4: Persist walletMetadata and externalServerKeyShares
createWalletAccount() returns two pieces of state — each belongs in a different storage tier:
walletMetadata to every subsequent sign / export / backup operation. See WalletMetadata and Storage Best Practices for the full pattern.
Best Practices
- Password Security: Use strong, unique passwords for each wallet
- Session Management: Implement proper session lifecycle management
- Error Handling: Always handle potential errors during wallet creation
- Monitoring: Log wallet creation events for audit purposes
- Backup Strategy: Implement secure backup strategies for key shares