Import is not the same as activate. Import brings an existing external private key into DFNS MPC (this page). Activate wallet is an unrelated blockchain-level step that deploys or registers a DFNS-created account on-chain for networks that require it (e.g., Starknet, Canton, Concordium). You do not import a wallet to activate it, and you do not activate an imported key.
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
Export
Export a key from DFNS to use it outside the platform — either to migrate it to another provider, or to hold an independent backup for disaster recovery. The ceremony below is the same for both. The export process is the reverse of import. The SDK runs entirely on your machine using WebAssembly:- Generate a keypair - You provide a public key that the MPC signers will use to encrypt their shares
- Encrypted download - Each signer encrypts its key share with your public key and sends it to your machine
- Local reconstitution - The SDK decrypts the shares and reconstitutes the full private key locally
The encryption in step 1-2 protects the shares in transit. The reconstituted key itself is not encrypted. If you need to store it, you are responsible for encrypting it at rest.
Step-by-step guide
Export a key and confirm it works, including an offline signing test.
Related
Wallets & Keys
Understanding the difference between keys and wallets
SDK examples
Import SDK implementation examples