Skip to main content
Dfns secures private keys by generating them as MPC key shares in our decentralized key management network. This happens by default when you create a wallet. In some circumstances, you may need to import an existing private key or export a key from Dfns. These features are restricted to Enterprise customers.

Import

We recommend creating new wallets and transferring funds instead of importing keys. Imported keys are inherently less secure because they existed in complete form before import. You cannot verify how the key was stored, handled, or who may have had access to it. Keys generated natively by Dfns MPC have never existed as a complete key and provide stronger security guarantees.
Dfns uses MPC (Multi-Party Computation) to secure keys. When you import a key, the SDK processes it entirely on your machine using WebAssembly:
  1. Fetch signers - The SDK retrieves Dfns signer nodes and their public keys
  2. Split locally - Your private key is split into shares using threshold cryptography
  3. Encrypt for signers - Each share is encrypted with the corresponding signer’s public key
  4. Transmit shares - Only encrypted shares are sent to Dfns
The complete private key never leaves your machine and never exists on Dfns servers. Once imported, the key operates like any Dfns-native key with full MPC security for signing operations.

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.id to 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)
Create new keys instead when:
  • 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.
Dfns cannot guarantee the security of transactions signed with exported keys. This feature requires a contractual addendum.
See the export SDK example for implementation details.