Spin up millions of secure, server-controlled wallets with battle-tested MPC infrastructure. Built for onchain automation, Dynamic Server Wallets let you trigger transactions, interact with contracts, and run complex flows—all without user involvement, and fully owned by your backend.Documentation Index
Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
Use this file to discover all available pages before exploring further.
Find pricing for server wallets here.
Setup
Enable multiple embedded wallets per chain
Navigate to the Dynamic Dashboard and enable multiple embedded wallets per chain.
Retrieve your auth token
Navigate to the Dynamic Dashboard and create a new API token.
Access MPC functionality by creating a new wallet account
createWalletAccount() returns two pieces of state that you must persist on the customer side:walletMetadata— non-sensitive identity + backup-pointer info. Cache it in Redis, Postgres, or similar. You’ll pass it to every subsequent sign / export / backup operation.externalServerKeyShares— sensitive MPC key material. Store in a secrets vault (HSM, KMS-wrapped column, Secret Manager).
walletMetadata.accountAddress — pass walletMetadata to subsequent calls rather than reconstructing args from individual fields.Removed in V1. The Node SDK no longer holds wallet state internally. If you are migrating from a pre-V1 SDK, the following have been removed: the in-memory
walletMap, client.getWallet(address), initializeWalletMapEntry, and ensureCeremonyCompletionBeforeBackup. recoverEncryptedBackupByWallet no longer accepts storeRecoveredShares — the caller now decides what to do with the returned shares. Every sign / export / backup operation now takes explicit walletMetadata (and externalServerKeyShares when supplying shares yourself), so the caller owns persistence.Next Steps
You can find the full SDK reference for server wallets for each chain below:EVM
EVM Guides
SVM
SVM Guides