Import
Dfns uses MPC (Multi-Party Computation) to secure keys. When you import a key, the SDK processes it entirely on your machine using WebAssembly:- Fetch signers - The SDK retrieves Dfns signer nodes and their public keys
- Split locally - Your private key is split into shares using threshold cryptography
- Encrypt for signers - Each share is encrypted with the corresponding signer’s public key
- Transmit shares - Only encrypted shares are sent to Dfns
Step-by-step guide
For detailed import instructions including vendor-specific migration steps, see the developer guide.
After importing a key
Once you’ve imported a key, you can:- Create wallets from it: Use Create Wallet with
signingKey.idto create wallets on specific networks - Sign directly: Use the Signing API for raw signatures
- Multi-chain usage: The same key can be used across compatible networks (e.g., all EVM chains share the same address)
When to import vs create new
Import makes sense when:- The wallet address is tied to a smart contract you can’t redeploy
- You have regulatory requirements to maintain specific addresses
- The address has non-transferable assets (certain NFTs, protocol permissions)
- Starting fresh with no legacy requirements
- High-value production wallets
- You can move assets from old wallets
